HOME > 即効テクニック > Excel VBA > ファイル操作関連のテクニック > ドライブの空き容量を取得する

即効テクニック

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

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

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

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


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


●サンプル●

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