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

VBA|Drivesプロパティ(ファイルシステムオブジェクト)

DrivesプロパティはすべてのDriveオブジェクトのコレクションを返します。

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

Drivesプロパティの構文

ファイルシステムオブジェクト.Drives

Drivesプロパティの構成要素と引数

要素/引数 必須/任意 説明
ファイルシステムオブジェクト
(FSO)
必須 ファイルシステムオブジェクトを指定します。
※引数はありません。

Drivesプロパティをつかったサンプルマクロ

次のマクロはパソコンのすべてのドライブパス名をイミディエイトウィンドウに表示します。

  
Option Explicit

Sub ファイルシステムオブジェクト_Drivesプロパティ()

'ファイルシステムオブジェクトを使うため準備
'①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
    Dim FSO As FileSystemObject
    Set FSO = New FileSystemObject

'ドライブオブジェクトを代入する変数を宣言する
    Dim Drive As Object

'Drivesプロパティを使ってDriveコレクションのすべてをくり返し
    For Each Drive In FSO.Drives
        'ドライブオブジェクトのプロパティを使ってイミディエイトウィンドウに表示する
        Debug.Print "パス名: " & Drive.PATH  'ドライブのパス名
        Debug.Print "タイプ名: "; Drive.DriveType 'ドライブの種類
        Debug.Print "準備の状態: "; Drive.IsReady 'ドライブの準備状態をTrueまたはFalseで返す
    Next Drive

End Sub

14行目

Drivesプロパティはドライブオブジェクトのコレクションを返すので、For Each…Nextですべてのドライブに対してくり返しを指定しています。

Drive オブジェクトのPathプロパティを利用してドライブのパス名を表示する処理です。

Drive オブジェクトのDriveTypeプロパティを利用してドライブの種類をあらわす数値を表示する処理です。

Drive オブジェクトのIsReadyプロパティを利用してドライブの準備状態を真偽値で表示する処理です。

DriveTypeプロパティはドライブの種類を数値で返します。サンプルコードの結果である2は、Fixed(ハードディスク)、4はCD-ROM(CD-ROM,DVD-ROM などの光ディスク・ドライブ)を示す値が返されています。

GetDriveメソッドとちがう点としてDriveオブジェクトのコレクションが返されるんだね。

PR

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

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

コメント