即効テクニック

ファイル操作関連のテクニック

ドライブの全容量を取得する

(Excel 2000/2002/2003)
●概要●
DriveオブジェクトのTotalSizeプロパティを利用すると、指定したドライブの全容量を取得することができます。なお、DriveオブジェクトはFileSystemObjectの子オブジェクトです。

 構文 オブジェクト.FreeSpace
 設定項目    内容
 オブジェクト  Driveオブジェクト


次のサンプルは、Cドライブの全容量を取得します。まず、FileSystemObjectを作成し、GetDriveオブジェクトの参照を取得します。その際、ドライブの準備ができているかをIsReadyプロパティを利用して確認しています。その後、TotalSizeプロパティを利用して、ドライブの空き容量を取得します。TotalSizeプロパティは、全容量をバイト単位で取得するため、ギガバイト単位に変換した後、メッセージボックスに表示しています。
なお、ここではFileSystemObjectを利用するために、「Microsoft Scripting Runtime」に参照設定しています。


●サンプル●

Sub Sample()
    Dim FileSystemObjectData As Scripting.FileSystemObject
    Dim CheckDriveName As String
    Dim TotalDiskSize As Double
    
    Set FileSystemObjectData = New Scripting.FileSystemObject
    CheckDriveName = "C:\"
    
    With FileSystemObjectData
        With .GetDrive(CheckDriveName)
            If Not .IsReady Then
                MsgBox "準備ができていません"
                Exit Sub
            End If
            TotalDiskSize = .TotalSize
        End With
    End With
    
    TotalDiskSize = Format(TotalDiskSize / 1024 / 1024 / 1024, "0.00")
    
    MsgBox "Cドライブの容量は" & TotalDiskSize & "ギガバイトです", vbInformation
    
    Set FileSystemObjectData = Nothing
End Sub