VBA でファイルパスから拡張子やドライブ名などの各種情報を切り出して取得するメソッドを一覧で紹介します。これらのメソッドは非常に使用頻度が高いものであると思います。
スポンサーリンク
ファイルパスから各種情報を取得するサンプル
それぞれ取得している情報については、サンプル内のコメントを参照ください。
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim fullPath As String
fullPath = "E:\dir\subdir\file.txt"
' ファイルベース名
Debug.Print fso.GetBaseName(fullPath)
' file
' ファイルのフルパス
Debug.Print fso.GetAbsolutePathName(fullPath)
' E:\dir\subdir\file.txt
' ドライブ名
Debug.Print fso.GetDriveName(fullPath)
' E:
' 拡張子
Debug.Print fso.GetExtensionName(fullPath)
' txt
' ファイル名
Debug.Print fso.GetFileName(fullPath)
' file.txt
' 親フォルダ名
Debug.Print fso.GetParentFolderName(fullPath)
' E:\dir\subdir
Set fso = Nothing
参考
- MSDN – GetAbsolutePathName メソッド
- MSDN – GetBaseName メソッド
- MSDN – GetDriveName メソッド
- MSDN – GetExtensionName メソッド
- MSDN – GetFileName メソッド
- MSDN – GetParentFolderName メソッド