フルパスからファイル名、パスを取得する
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 …
-
-
Open ステートメントで使用できるファイル番号を取得(FreeFile 関数)
FreeFile 関数 Open ステートメントで使用するファイル番号( 1 ~ …
-
-
テキストファイル:データを読み込む(Input 関数・InputB 関数)
Input 関数・InputB 関数 Open ステートメントをシーケンシャル入 …
-
-
Excelでテキストファイルを開く(OpenText メソッド)
Excelでテキストファイルを開く OpenText メソッドで、テキストファイ …
-
-
ディレクトリまたはフォルダの作成(MkDir ステートメント)
ディレクトリまたはフォルダの作成 新しいディレクトリまたはフォルダを作成するには …
-
-
XlBuiltInDialog 列挙型
XlBuiltInDialog 列挙型 Excel の組み込みダイアログボックス …
-
-
ファイル属性の取得・設定(GetAttr 関数・SetAttr ステートメント)
ファイル属性の取得(GetAttr 関数) ファイルやフォルダ(ディレクトリ)の …
-
-
フォルダ名・ファイル名を変更(Name ステートメント)
フォルダ名およびファイル名を変更 Name ステートメント で、ファイル、ディレ …
-
-
テキストファイル:データを読み込む(Line Input # ステートメント)
Line Input # ステートメント Open ステートメントをシーケンシャ …
-
-
Excel を終了する(Quit メソッド)
Excel を終了する(Quit メソッド) Quit メソッドを実行すると、E …