FileSystemObjectのGetDriveメソッドは指定されたパスのドライブのDriveオブジェクトを返します。
※ファイルシステムオブジェクト(FileSystemObject)についてはこちら
GetDriveメソッドの構文
構文
ファイルシステムオブジェクト.GetDrive(ドライブ文字(Drivespec))
GetDriveメソッドの構成要素と引数
構成要素と引数
要素/引数 | 必須/任意 | 説明 |
---|---|---|
ファイルシステムオブジェクト (FSO) |
必須 | ファイルシステムオブジェクトを指定します。 |
ドライブ文字 (Drivespec) |
必須 | ドライブ文字や、コロンつきドライブ文字、区切り記号が付加されたドライブ文字、または任意のネットワーク共有仕様を文字列で指定します。 |
その他のポイント
ドライブ文字(drivespec)で指定した文字列が、許容されないものであったり、認識されない場合はエラーが発生します。
ドライブ文字(drivespec)でネットワーク共有を指定した場合、共有が存在するかを調べることができます。
GetDriveメソッドをつかったサンプルマクロ
以下のマクロは、GetDriveメソッドをつかってドライブオブジェクトを取得し、Driveオブジェクトのプロパティを利用してドライブパスなどの各種項目をイミディエイトウィンドウに表示します。
VBAサンプルコード
Option Explicit
Sub ファイルシステムオブジェクト_GetDriveメソッド()
'ファイルシステムオブジェクトを使うため準備
'①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
Dim FSO As FileSystemObject
Set FSO = New FileSystemObject
Dim DriveObject As Object
'GetDriveメソッドの使用例(ドライブ文字)
Set DriveObject = FSO.GetDrive("C") '("C:")、("C:\")でも指定可能
'Driveオブジェクトのプロパティを使用する
Debug.Print "①"; DriveObject.PATH 'ドライブのパスを返します。
Debug.Print "②"; DriveObject.DriveLetter 'ドライブ文字の大文字を返します。
Debug.Print "③"; DriveObject.FileSystem 'ドライブのファイルシステムを返します。
Debug.Print "④"; DriveObject.IsReady 'ドライブの準備状態をTrue/Falseで返します。
Debug.Print "⑤"; DriveObject.VolumeName 'ドライブのボリューム名を設定するか返します。
End Sub
10行目
ドライブオブジェクトを受け取るオブジェクト型変数DriveObjectを宣言します。
13行目
GetDriveメソッドを利用して、さきに宣言した変数DriveObjectにCドライブを代入します。
16行目から20行目
ドライブオブジェクトプロパティを利用して、それぞれの値を表示しています。
・Pathプロパティでは、ドライブのパス名を示す、大文字のアルファベットとその後のコロンを返します。
・DriveLetterプロパティではドライブ名を大文字のアルファベットで返します。
・FileSystemプロパティはドライブで使用されているファイル システムを返します。
・IsReadyプロパティではドドライブの準備状態を準備できている場合はTrue、そうでない場合をFalseで返します。
・VolumeNameプロパティはドライブのボリューム名を設定するか返します。
実行結果
①C:
②C
③NTFS
④True
⑤OS

指定されたドライブのオブジェクトとしてあつかえるようにするメソッドだね。
オンラインスクールで現役エンジニアのサポートがあるテックアカデミーがおすすめ。
スキマ時間に学べて仕事も保証。必ず副業、始められます。まずは無料でプログラミング体験
コダマのもりブログはにほんブログ村に登録しています。
ブログの記事が役に立ったと感じて頂けたら、フォローお願いいたします。
コメント