FSO ドライブ、フォルダ、ファイルの取得

以下のコードは、FileSystemObject クラスを使用して、ドライブ、フォルダ、ファイルの情報を取得する方法を示しています。

' FSO ドライブ、フォルダ、ファイルの取得
Private Sub FSO_Drive_Folder_File()
    ' 参照設定「Microsoft Scripting Runtime」必要
    With New FileSystemObject
    ' 以下は、参照設定有無にかかわらず使用可
    'With CreateObject("Scripting.FileSystemObject")
        Debug.Print .Drives.Count
        ' システム上のドライブの数
        
        Debug.Print .GetDrive("C:").Path
        ' 指定されたドライブ(“C:”)のパスを取得
        ' C:
        
        Dim myPath As String
        myPath = "C:\TEMP"
        
        Debug.Print .GetFolder(myPath).Name
        ' 指定されたパスのフォルダの名前を取得
        ' TEMP
        
        Dim fileName As String
        fileName = "fuga.txt"
        
        Debug.Print .GetFile(myPath & "\" & fileName).Name
        ' 指定されたファイルのパス(myPath & "\" & fileName)からファイル名を取得
        ' fuga.txt
        Debug.Print .GetFile(.BuildPath(myPath, fileName)).Name
        ' BuildPathメソッドを使用してフォルダパスとファイル名を結合し、
        ' ファイルのパスからファイル名を取得
        ' fuga.txt
    End With
End Sub

コードの詳細な説明

  1. FileSystemObject のインスタンスの作成:With New FileSystemObject ' 参照設定がない場合は以下の方法でインスタンスを作成 ' With CreateObject("Scripting.FileSystemObject")
    • FileSystemObject クラスのインスタンスを作成し、そのインスタンスに対して操作を行います。
    • 参照設定を行わずに使用する場合は、CreateObject を使用します。
  2. システム上のドライブの数を取得:Debug.Print .Drives.Count
    • Drives.Count プロパティを使用して、システム上のドライブの数を取得します。
  3. 指定されたドライブのパスを取得:Debug.Print .GetDrive("C:").Path
    • GetDrive メソッドを使用して、指定されたドライブ(この場合は “C:”)のパスを取得します。
  4. フォルダの名前を取得:Dim myPath As String myPath = "C:\TEMP" Debug.Print .GetFolder(myPath).Name
    • GetFolder メソッドを使用して、指定されたパス(myPath)のフォルダの名前を取得します。
  5. ファイルの名前を取得:Dim fileName As String fileName = "fuga.txt" Debug.Print .GetFile(myPath & "\" & fileName).Name
    • GetFile メソッドを使用して、指定されたファイルのフルパス(myPath & "\" & fileName)からファイル名を取得します。
  6. BuildPath メソッドを使用してパスを結合し、ファイルの名前を取得:Debug.Print .GetFile(.BuildPath(myPath, fileName)).Name
    • BuildPath メソッドを使用してフォルダパス(myPath)とファイル名(fileName)を結合し、その結合されたパスからファイル名を取得します。

実行結果の例

例えば、以下のようなデバッグ出力が得られます:

 6 
C:
TEMP
fuga.txt
fuga.txt
このコードは、ファイルシステムの操作に関する基本的な機能を示しており、ドライブ、フォルダ、ファイルの存在確認や名前の取得などに役立ちます。

Follow me!