※本ブログのページには広告主との提携による広告や宣伝、プロモーションが含まれます。当ブログを経由しての商品の購入や、サービス申し込みが発生すると、それらの提携企業からの成果報酬を受けとる場合があります。

VBA|GetDriveメソッド(ファイルシステムオブジェクト)

FileSystemObjectGetDriveメソッドは指定されたパスのドライブのDriveオブジェクトを返します。

※ファイルシステムオブジェクト(FileSystemObject)についてはこちら

GetDriveメソッドの構文

ファイルシステムオブジェクト.GetDrive(ドライブ文字(Drivespec))

GetDriveメソッドの構成要素と引数

要素/引数 必須/任意 説明
ファイルシステムオブジェクト
(FSO)
必須 ファイルシステムオブジェクトを指定します。
ドライブ文字
(Drivespec)
必須 ドライブ文字や、コロンつきドライブ文字、区切り記号が付加されたドライブ文字、または任意のネットワーク共有仕様を文字列で指定します。

ドライブ文字(drivespec)で指定した文字列が、許容されないものであったり、認識されない場合はエラーが発生します。

ドライブ文字(drivespec)でネットワーク共有を指定した場合、共有が存在するかを調べることができます。

GetDriveメソッドをつかったサンプルマクロ

以下のマクロは、GetDriveメソッドをつかってドライブオブジェクトを取得し、Driveオブジェクトのプロパティを利用してドライブパスなどの各種項目をイミディエイトウィンドウに表示します。

  
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プロパティはドライブのボリューム名を設定するか返します。

指定されたドライブのオブジェクトとしてあつかえるようにするメソッドだね。

PR

独学でプログラミングをはじめてみたけど、このままの学習方法に不安を感じているのなら、
オンラインスクールで現役エンジニアのサポートがあるテックアカデミーがおすすめ。
スキマ時間に学べて仕事も保証。必ず副業、始められます。まずは無料でプログラミング体験

コダマのもりブログはにほんブログ村に登録しています。
ブログの記事が役に立ったと感じて頂けたら、フォローお願いいたします。

コメント