#098 指定ドライブの空き容量を取得するには? VBA

FileSystemObjectオブジェクトの中のDriveオブジェクトの"FreeSpaceプロパティ"は、あるドライブの空き容量をバイト単位で返します。また"DriveLetterプロパティ"は「C」のようなドライブ名を、"Pathプロパティ"は「C:」のようなパス名を返します。これらを利用することによって指定ドライブの空き容量を調べることができます。

サンプルプロシージャ:
Public Function GetFreeSpace(strDriveName As String) As Long

  Dim Fso As Object
  Dim Drv As Object
  
  'FileSystemObjectオブジェクトを生成します
  Set Fso = CreateObject("Scripting.FileSystemObject")
  'Drivesコレクション内の各ドライブの情報を列挙します
  For Each Drv In Fso.Drives
    With Drv
      'そのドライブが引数のドライブかどうか調べます
      If .DriveLetter = strDriveName Or _
          .Path = strDriveName Then
        '空き容量を返り値に設定します
        GetFreeSpace = .FreeSpace
        Exit For
      End If
    End With
  Next Drv

End Function

使用例:
'ここでは空き容量をMBに換算してチェックします
If GetFreeSpace("c:") / 1024 / 1024 >= 10 Then
  MsgBox "Cドライブには10MB以上の空き容量があります!", vbOKOnly + vbInformation
Else
  MsgBox "Cドライブには十分な空き容量がありません!", vbOKOnly + vbExclamation
End If
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved