フルパスからファイル名やパスを取得する
FileSystemObject(FSO)を使用して、フルパスからファイル名(GetFileName メソッド)やパス(GetParentFolderName メソッド)を取得します。FileSystemObject(FSO)のインスタンスを生成する方法は、ファイルシステムオブジェクト(FileSystemObject)の使い方 を参照してください。
フルパスからファイル名を取得(GetFileName メソッド)
【書式】
object.GetFileName ( pathspec )
引数・戻り値
- object ・・・ FileSystemObject オブジェクトを指定します。
- pathspec ・・・ 対象となるパスを指定します。
- 戻り値 ・・・ 引数 pathspec で指定したパスにある最後のコンポーネント(「フォルダ名」または「ファイル名」)の文字列。
GetFileName メソッド は、引数 pathspec で指定したパスが存在するかどうかは確認しません。
パスを取得する(GetParentFolderName メソッド)
【書式】
object.GetParentFolderName ( path )
引数・戻り値
- object ・・・ FileSystemObject オブジェクトを指定します。
- path ・・・ 対象となるパスを指定します。
- 戻り値 ・・・ 引数 path で指定したパスにある最後のコンポーネント(「フォルダ名」または「ファイル名」)の親フォルダ名を含む文字列。
引数 path で指定されたコンポーネントの親フォルダがない場合は、長さ 0 の文字列 (“”) を返します。
GetParentFolderName メソッド は、引数 path で指定したパスが存在するかどうかは確認しません。
FSO(FileSystemObject)を使わずにファイル名・パスを取得する方法については、フルパスからファイル名、パスを取得する を参照してください。
フルパスからファイル名やパスを取得する例
サンプルVBAソース1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Sample_GetFileName() Dim fso As New FileSystemObject Dim myPath1 As String, myPath2 As String myPath1 = "c:\newpath\aaaa\bbbb\" myPath2 = "c:\newpath\aaaa\bbbb\ccc.txt" MsgBox "myPath1:" & fso.GetFileName(myPath1) & vbCrLf & _ "myPath2:" & fso.GetFileName(myPath2) & vbCrLf End Sub |
実行結果1
サンプルVBAソース2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub Sample_GetParentFolderName() Dim fso As New FileSystemObject Dim myPath1 As String, myPath2 As String myPath1 = "c:\newpath\aaaa\bbbb\" myPath2 = "c:\newpath\aaaa\bbbb\ccc.txt" MsgBox "myPath1:" & fso.GetParentFolderName(myPath1) & vbCrLf & _ "myPath2:" & fso.GetParentFolderName(myPath2) & vbCrLf End Sub |