アプリケーションとしてのVBA Excel(エクセル) VBA の役立つ Tips の紹介

アプリケーションとしての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

    '1行にすることもできます
'    Set Drv_Collect = CreateObject("Scripting.FileSystemObject").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」の参照設定

  上のようなダイアログボックスが表示されるので、真ん中辺の
 「Microsoft Scripting Runtime」のチェックを入れて「OK」をクリックしてください。

  


  たいていの場合、Windows Scripting Host を使用する方法で
  ファイルシステムオブジェクトを使用できるようになります。

  この方法のメリットとして、Drive型のオブジェクト変数などが使用できる
  ようになることが挙げられます。

  つまり、Test2 でいうと

    Dim Drv_Collect As Drives

  の部分です。

  この記述ができるのは、「Microsoft Scripting Runtime」のチェックを入れて
  あるからです。


Copy (C) 2005   アプリケーションとしてのVBA   All Rights Reserved.