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コードの詳細な説明
- 参照設定のコメント:
' 参照設定「Microsoft Scripting Runtime」必要 'With New FileSystemObjectFileSystemObjectクラスを使用するためには、「Microsoft Scripting Runtime」への参照設定が必要です。ただし、このサンプルではCreateObjectメソッドを使用しているため、参照設定は不要です。
FileSystemObjectクラスのインスタンスの作成:With CreateObject("Scripting.FileSystemObject")FileSystemObjectクラスのインスタンスを作成し、そのインスタンスに対して操作を行います。
- ファイルパスの作成:
Dim myPath As String myPath = .BuildPath("C:\TEMP", "fuga.txt")BuildPathメソッドを使用して、"C:\TEMP"フォルダに"fuga.txt"ファイルのパスを作成し、myPath変数に代入します。
- ファイルおよびフォルダの存在確認:
Debug.Print .DriveExists("C") Debug.Print .FolderExists("C:\TEMP") Debug.Print .FileExists(myPath)DriveExistsメソッドを使用して、"C"ドライブが存在するかどうかを確認します。FolderExistsメソッドを使用して、"C:\TEMP"フォルダが存在するかどうかを確認します。FileExistsメソッドを使用して、myPath変数で指定されたファイルが存在するかどうかを確認します。
- パスに関する情報の取得:
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このコードは、ファイルシステムの操作に関する基本的な機能を示しており、ファイルやフォルダの存在確認やパス情報の取得などに役立ちます。


