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 FileSystemObject
FileSystemObject
クラスを使用するためには、「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
このコードは、ファイルシステムの操作に関する基本的な機能を示しており、ファイルやフォルダの存在確認やパス情報の取得などに役立ちます。