フルパスからファイル名、パスを取得する
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
関連記事
-
-
ファイルをコピー(FileCopy ステートメント)
FileCopy ステートメント ファイルをコピーします。ただし、開いているファ …
-
-
フォルダ名・ファイル名を変更(Name ステートメント)
フォルダ名およびファイル名を変更 Name ステートメント で、ファイル、ディレ …
-
-
テキストファイル(Open ステートメント・Close ステートメント)
新規ブックを開かずにテキストファイルを開く OpenText ステートメント を …
-
-
FileDialogFilters コレクション・FileDialogFilter オブジェクト
FileDialogFilters コレクション FileDialog オブジェ …
-
-
特殊フォルダを取得(wsh.SpecialFolders)
CreateObject 関数:特殊フォルダを取得(WSH.SpecialFol …
-
-
「ファイルを開く」ダイアログボックス(FindFile メソッド)
FindFile メソッド 「ファイルを開く」ダイアログボックスを表示します。G …
-
-
開いているファイルの読み取り位置または書き込み位置を設定(Seek ステートメント)
Seek ステートメント Open ステートメント で開いているファイルで、次に …
-
-
ディレクトリまたはフォルダの作成(MkDir ステートメント)
ディレクトリまたはフォルダの作成 新しいディレクトリまたはフォルダを作成するには …
-
-
Excel の組み込みダイアログボックス(Dialog, Dialogs)
Excel の組み込みダイアログボックスを表示 Dialog オブジェクト を使 …
-
-
開いているファイルのサイズ・位置の取得(LOF 関数・Loc 関数)
LOF 関数 Open ステートメント により開かれたファイルのサイズをバイト単 …

