FileSystemObject クラスのメンバー

以下のコードは、FileSystemObject クラスのメンバーを使用して、ファイルやフォルダの操作を行う方法を示しています。FileSystemObject クラスは、ファイルシステムを操作するためのさまざまなメソッドを提供します。

' FileSystemObject クラスのメンバー
Private Sub FSO_Class()
    
    ' 参照設定「Microsoft Scripting Runtime」必要
    'With New FileSystemObject
    ' 以下は、参照設定有無にかかわらず使用可
    With CreateObject("Scripting.FileSystemObject")
    
        Dim myPath As String
        myPath = .BuildPath("C:\TEMP", "fuga.txt")
        ' myPathという変数に、BuildPathメソッドを使用してファイルパスを作成
        
        Debug.Print myPath
        ' C:\TEMP\fuga.txt
        
        Debug.Print .DriveExists("C")
        '  “C” ドライブが存在するかどうか
        ' True
        
        Debug.Print .FolderExists("C:\TEMP")
        '  “C:\TEMP” フォルダが存在するかどうか
        ' True
        
        Debug.Print .FileExists(myPath)
        ' myPath 変数で指定されたファイルが存在するかどうか
        ' True
        
        Debug.Print .GetAbsolutePathName(myPath)
        ' myPath 変数で指定されたファイルの絶対パス
        ' C:\TEMP\fuga.txt
        
        Debug.Print .GetDriveName(myPath)
        ' myPath 変数で指定されたファイルが存在するドライブ名
        ' C:
        
        Debug.Print .GetParentFolderName(myPath)
        ' myPath 変数で指定されたファイルの親フォルダ名
        ' C:\TEMP
        
        Debug.Print .GetFileName(myPath)
        ' myPath 変数で指定されたファイルの名前
        ' fuga.txt
        
        Debug.Print .GetBaseName(myPath)
        '  myPath 変数で指定されたファイルの拡張子を除いたベース名
        ' fuga
        Debug.Print .GetExtensionName(myPath)
        ' myPath 変数で指定されたファイルの拡張子
        ' txt
    
    End With
End Sub

コードの詳細な説明

  1. 参照設定のコメント:' 参照設定「Microsoft Scripting Runtime」必要 'With New FileSystemObject
    • FileSystemObject クラスを使用するためには、「Microsoft Scripting Runtime」への参照設定が必要です。ただし、このサンプルでは CreateObject メソッドを使用しているため、参照設定は不要です。
  2. FileSystemObject クラスのインスタンスの作成:With CreateObject("Scripting.FileSystemObject")
    • FileSystemObject クラスのインスタンスを作成し、そのインスタンスに対して操作を行います。
  3. ファイルパスの作成:Dim myPath As String myPath = .BuildPath("C:\TEMP", "fuga.txt")
    • BuildPath メソッドを使用して、"C:\TEMP" フォルダに "fuga.txt" ファイルのパスを作成し、myPath 変数に代入します。
  4. ファイルおよびフォルダの存在確認:Debug.Print .DriveExists("C") Debug.Print .FolderExists("C:\TEMP") Debug.Print .FileExists(myPath)
    • DriveExists メソッドを使用して、"C" ドライブが存在するかどうかを確認します。
    • FolderExists メソッドを使用して、"C:\TEMP" フォルダが存在するかどうかを確認します。
    • FileExists メソッドを使用して、myPath 変数で指定されたファイルが存在するかどうかを確認します。
  5. パスに関する情報の取得:Debug.Print .GetAbsolutePathName(myPath) Debug.Print .GetDriveName(myPath) Debug.Print .GetParentFolderName(myPath) Debug.Print .GetFileName(myPath) Debug.Print .GetBaseName(myPath) Debug.Print .GetExtensionName(myPath)
    • GetAbsolutePathName メソッドを使用して、myPath 変数で指定されたファイルの絶対パスを取得します。
    • GetDriveName メソッドを使用して、myPath 変数で指定されたファイルが存在するドライブ名を取得します。
    • GetParentFolderName メソッドを使用して、myPath 変数で指定されたファイルの親フォルダ名を取得します。
    • GetFileName メソッドを使用して、myPath 変数で指定されたファイルの名前を取得します。
    • GetBaseName メソッドを使用して、myPath 変数で指定されたファイルの拡張子を除いたベース名を取得します。
    • GetExtensionName メソッドを使用して、myPath 変数で指定されたファイルの拡張子を取得します。

実行結果の例

例えば、C:\TEMP\fuga.txt というファイルが存在すると仮定した場合、以下のようなデバッグ出力が得られます:

C:\TEMP\fuga.txt
True
True
True
C:\TEMP\fuga.txt
C:
C:\TEMP
fuga.txt
fuga
txt

このコードは、ファイルシステムの操作に関する基本的な機能を示しており、ファイルやフォルダの存在確認やパス情報の取得などに役立ちます。

Follow me!