FileSystemObjectのDrivesプロパティ

FileSystemObjectのDrivesプロパティは、パソコンの全てのドライブの情報をDrivesオブジェクトで返します。

取得したDrivesオブジェクトはDriveクラスオブジェクトの配列になっており、Drivesオブジェクトから1つずつDriveオブジェクトを取得し、そのDriveオブジェクトからドライブ名(C:など)や容量などの情報が参照できます。

ちなみに、PowerShellで「Get-PSDrive -PSProvider FileSystem」と入力してEnterキーを押すと、Drivesプロパティと同様の結果が一覧表示されます。なお、「Get-PSDrive」とだけ入力した場合はドライブ以外の一部のレジストリなどの情報も一覧表示されます。

FileSystemObjectの他のメソッドやプロパティは「FileSystemObjectとTextStreamのメソッド・プロパティ一覧」をご参照ください。

構文

Property Drives As Drives

戻り値 全ドライブの情報をDrivesオブジェクトで返します。

Drivesオブジェクトの各プロパティは以下になります。ドライブによっては参照できないプロパティがあります。

AvailableSpace 使用可能なディスク容量をバイト単位で返します。FreeSpaceプロパティの値と同じになります。
DriveLetter ドライブ文字を返します。Cドライブであれば”C”が取得できます。
DriveType ドライブの種類をDriveTypeConst定数で返します。

定数 内容
CDRom 4 CD-ROMドライブ
Fixed 2 ハードディスク
RamDisk 5 RAMディスク
Remote 3 ネットワークドライブ
Removable 1 リムーバブルドライブ
UnknownType 0 不明
FileSystem ファイルの種類を文字列で返します。”NTFS”などです。
FreeSpace 使用可能なディスク容量をバイト単位で返します。AvailableSpaceプロパティと同じ値になります。
IsReady ドライブが利用できるかをTrue(利用可能)かFalse(利用不可)で返します。CD-ROMのようにドライブとメディアが分かれている場合にメディアが入っているかどうかの判定ができます。
Path ドライブのパスを取得します。Cドライブであれば「C:」の文字列が返します。
RootFolder 対象のドライブのルートフォルダをFolderオブジェクトで返します。
SerialNumber ドライブのシリアルナンバーを返します。CD-ROMなどの可搬性メディアの場合はメディアのシリアルナンバーが返されます。
ShareName ネットワークドライブの場合のみ、そのネットワーク接続先のパスが返されます。
TotalSize 対象のドライブの総容量をバイトで返します。
VolumeName ドライブのボリューム名を取得または設定します。

事前設定

以下のサンプルコードでは参照設定でFileSystemObjectクラスを利用できるようにしています。

FileSystemObjectクラスを利用するには、事前にVBA画面→ツールメニュー→参照設定、を選択し、参照設定ダイアログで「Microsoft Scripting Runtime」にチェックを付けます。

詳細は「VBAでのFileSystemObjectとTextStreamの使い方」の事前設定をご参照ください。

サンプルコード

ドライブのパスを出力するサンプルコードです。

実行結果(PCによって結果は異なります)
ドライブ数:4
C: 2
D: 4
U: 3
V: 3