アプリケーションとしてのVBA
Driveオブジェクト プロパティ
◆オブジェクトの作成方法
オブジェクトを作成するには2つの方法があります。
Windows Scripting Hostを使う方法と Newでインスタンスを作成する方法です。
Drivesオブジェクトを作成して、ドライブの数を表示する例で説明します。
まず、Windows Scripting Hostを使う方法です。
Sub test1()
Dim Drives_FSO, Drv_Collect
Set Drives_FSO = CreateObject("Scripting.FileSystemObject")
Set Drv_Collect = Drives_FSO.Drives
MsgBox Drv_Collect.Count
End Sub
この方法はいろいろなところでよく見かける方法だと思います。
「アプリケーションとしてのVBA」でもこの方法を多く使用しています。
それは、Excelをインストールしたままで使えるからです。
次に、Newでインスタンスを作成する方法です。
Sub test2()
Dim Drives_FSO As New FileSystemObject
Dim Drv_Collect As Drives
Set Drv_Collect = Drives_FSO.Drives
MsgBox Drv_Collect.Count
End Sub
この方法を使用するためには、「Microsoft Scripting Runtime」の参照設定を
あらかじめ設定しておく必要があります。
この参照設定はファイルシステムオブジェクトを利用するブック毎に設定の必要が
あります。
Visual Basic Editor のメニューで、ツール -> 参照設定 をクリックします。
上のようなダイアログボックスが表示されるので、真ん中辺の
「Microsoft Scripting Runtime」のチェックを入れて「OK」をクリックしてください。
たいていの場合、Windows Scripting Host を使用する方法で
ファイルシステムオブジェクトを使用できるようになります。
この方法のメリットとして、Drive型のオブジェクト変数などが使用できる
ようになることが挙げられます。
つまり、Test2 でいうと
Dim Drv_Collect As Drives
の部分です。
この記述ができるのは、「Microsoft Scripting Runtime」のチェックを入れて
あるからです。