◆Driveオブジェクト プロパティ
Driveオブジェクトのプロパティを使用して、Driveの色々な情報を取得できます。 以下の表の一覧にまとめました。
| 内容 | プロパティ | R/W |
|---|---|---|
| ドライブが使用可能かどうか調査する | IsReady | 取得のみ |
| ドライブ全体の容量 | TotalSize | 取得のみ |
| ドライブの使用可能なディスク容量 | AvailableSpace | 取得のみ |
| ドライブの使用可能なディスク空き容量 | FreeSpace | 取得のみ 通常 AvailableSpace = FreeSpace です。 2 つの値が異なる可能性があるのは、OSがディスククォータ機能をサポートしている場合だけです。 |
| ドライブの名前 | DriveLetter | 取得のみ |
| ボリュームの名前 | VolumeName | 取得のみ |
| ドライブの種類 | DriveType | 取得のみ 0: 不明 1: リムーバルディスク 2: ハードディスク 3: ネットワークドライブ 4: CD-ROM 5: RAMディスク |
| パス | Path | 取得のみ |
| ルートフォルダ | RootFolder | 取得のみ |
| シリアル番号 | SerialNumber | 取得のみ |
| ドライブのネットワーク共有名 | ShareName | 取得のみ |
| ファイルシステムの種類 | FileSystem | 取得のみ |
Sub DriveProperty()
Dim Drive_Object As Object
Dim DriveSpec As String
DriveSpec = SelectDrivePath
If DriveSpec = "" Then
End
End If
'ドライブオブジェクトの取得
Set Drive_Object = CreateObject _
("Scripting.FileSystemObject").GetDrive(DriveSpec)
'ドライブが使用可能かどうか調査する
If Drive_Object.IsReady Then
'ドライブ全体の容量を取得する 取得のみ
Range("B1") = Drive_Object.TotalSize
'ドライブの使用可能なディスク容量を取得する 取得のみ
Range("B2") = Drive_Object.AvailableSpace
'ドライブの使用可能なディスク空き容量を取得する 取得のみ
'通常 AvailableSpace = FreeSpace です
'2 つの値が異なる可能性があるのは、ディスク クォータ機能を
'サポートしている場合だけです。
Range("B3") = Drive_Object.FreeSpace
'ドライブの名前 取得のみ
Range("B4") = Drive_Object.DriveLetter
'ボリュームの名前 取得のみ
Range("B5") = Drive_Object.VolumeName
'ドライブの種類 取得のみ
Select Case Drive_Object.DriveType
Case 0: Range("B6") = "不明"
Case 1: Range("B6") = "リムーバルディスク"
Case 2: Range("B6") = "ハードディスク"
Case 3: Range("B6") = "ネットワークドライブ"
Case 4: Range("B6") = "CD-ROM"
Case 5: Range("B6") = "RAMディスク"
End Select
'パス 取得のみ
Range("B7") = Drive_Object.Path
'ルートフォルダ 取得のみ
Range("B8") = Drive_Object.RootFolder
'シリアル番号 取得のみ
Range("B9") = Drive_Object.SerialNumber
'ドライブのネットワーク共有名 取得のみ
Range("B10") = Drive_Object.ShareName
'ファイルシステムの種類 取得のみ
Range("B11") = Drive_Object.FileSystem
Else
MsgBox "ドライブの準備ができていません"
End If
End Sub
Function SelectDrivePath() As String
Dim Shell As Object
Set Shell = CreateObject("Shell.Application"). _
BrowseForFolder(0, "フォルダを選択してください", 0, "0")
If Shell Is Nothing Then
SelectDrivePath = ""
Else
SelectDrivePath = Shell.Items.Item.Path
End If
End Function
example30 サンプルです 。
