フルパスからファイル名、パスを取得する
2016/03/23
フルパスからファイル名のみを取得する
フルパスからファイル名を取得するには、Dir 関数 が便利です。ただし、対象となるファイルが存在しない場合は、取得することができません。
その場合は、まず、InStrRev 関数 を使ってフルパスの最後の「\」の位置を取得します。最後の「\」の後が、ファイル名となるので、Mid 関数 を使って取得します。
フルパスからパス名のみを取得する
ファイル名がわかれば、Replace 関数 を使ってフルパスからファイル名を削除して取得することができます。
FSO を使用してフルパスからパス・ファイル名を取得する
FSO(FileSystemObject) を使用して、フルパスからパス、ファイル名を取得することができます。パスを取得するには、GetParentFolderName メソッド を使用します。ファイル名を取得するには、GetFileName メソッド を使用します。
FSO に関しては、ファイルシステムオブジェクトの使い方 を参照してください。
ConvertFormula メソッド 使用例
サンプルVBAソース 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Sub Sample1_GetFileName() Dim TargetFilePathName As String Dim FileName As String Dim FilePath As String TargetFilePathName = "C:\MyDocuments\Sample.txt" If Dir(TargetFilePathName) <> "" Then 'ファイルが存在する場合 FileName = Dir(TargetFilePathName) Else 'ファイルが存在しない場合 FileName = Mid(TargetFilePathName, InStrRev(TargetFilePathName, "\") + 1) End If FilePath = Replace(TargetFilePathName, FileName, "") MsgBox "パス:" & FilePath & vbCrLf & "ファイル名:" & FileName End Sub |
実行結果 1
サンプルVBAソース 2(FSO 使用)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Sub Sample2_GetFileName() 'FileSystemObject オブジェクトを使用する方法 Dim myFSO As Object Dim TargetFilePathName As String Dim FileName As String Dim FilePath As String TargetFilePathName = "C:\MyDocuments\Sample.txt" Set myFSO = CreateObject("Scripting.FileSystemObject") FileName = myFSO.GetFileName(TargetFilePathName) FilePath = myFSO.GetParentFolderName(TargetFilePathName) MsgBox "パス:" & FilePath & vbCrLf & "ファイル名:" & FileName End Sub |
実行結果 2
関連記事
-
-
特殊フォルダを取得(wsh.SpecialFolders)
CreateObject 関数:特殊フォルダを取得(WSH.SpecialFol …
-
-
テキストファイル:データを読み込む(Line Input # ステートメント)
Line Input # ステートメント Open ステートメントをシーケンシャ …
-
-
Excel を終了する(Quit メソッド)
Excel を終了する(Quit メソッド) Quit メソッドを実行すると、E …
-
-
FileDialog オブジェクトを取得する(FileDialog プロパティ)
FileDialog プロパティ FileDialog オブジェクト を取得しま …
-
-
フォルダ名・ファイル名を変更(Name ステートメント)
フォルダ名およびファイル名を変更 Name ステートメント で、ファイル、ディレ …
-
-
ファイルを削除(Kill ステートメント)
ファイルを削除する ファイルを削除するには、Kill ステートメント を使用しま …
-
-
ファイルの検索・フォルダ内のファイル一覧を取得(Dir 関数)
Dir 関数 Dir 関数で、ファイルの存在を確認したり、指定したフォルダ内のフ …
-
-
Excel の組み込みダイアログボックス(Dialog, Dialogs)
Excel の組み込みダイアログボックスを表示 Dialog オブジェクト を使 …
-
-
テキストファイル:データを書き込む(Put ステートメント)
Put ステートメント Open ステートメント をランダムアクセスモード(Ra …
-
-
XlBuiltInDialog 列挙型
XlBuiltInDialog 列挙型 Excel の組み込みダイアログボックス …