【VBA】フルパスからファイル名と拡張子を取得する
作成日:2022-12-02
更新日:2025-11-05

fso.GetFileName/GetBaseName/GetExtensionName
フルパスから拡張子付きのファイル名を取得
' Return file name with extension from full path
Public Function GetFileNameFromFullPath(ByVal fullPath As String) As String
On Error GoTo ErrHandler
Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject")
GetFileNameFromFullPath = fso.GetFileName(fullPath)
Exit Function
ErrHandler:
GetFileNameFromFullPath = ""
End Functionフルパスから拡張子なしのファイル名を取得
' Return base name (without extension) from full path
Public Function GetBaseNameFromFullPath(ByVal fullPath As String) As String
On Error GoTo ErrHandler
Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject")
GetBaseNameFromFullPath = fso.GetBaseName(fullPath)
Exit Function
ErrHandler:
GetBaseNameFromFullPath = ""
End Functionフルパスから拡張子のみを取得
' Return extension name from full path
Public Function GetExtensionFromFullPath(ByVal fullPath As String) As String
On Error GoTo ErrHandler
Dim fso As Object: Set fso = CreateObject("Scripting.FileSystemObject")
GetExtensionFromFullPath = fso.GetExtensionName(fullPath)
Exit Function
ErrHandler:
GetExtensionFromFullPath = ""
End Function- FSO(FileSystemObject)の
GetFileNameを使うと簡単にファイル名が取れる - 再利用性を考えて関数化しておくのがベスト
- 例外処理を加えておくと、安全に使える
Use FSO.GetFileName for simplicity and reliability.
シンプルさと信頼性のために FSO.GetFileName を使おう
FileSystemObject の便利メソッド
以下の便利メソッドがある
GetFileName(path)|フルパスからファイル名のみを返すGetBaseName(path)|拡張子を除いたファイル名を返すGetExtensionName(path)|拡張子だけを返す

FSOはシングルトンで使おう
Referenced Insights & Citations
- Microsoft Docs. FileSystemObject.GetFileName method (VBScript). Retrieved from: https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/getfilename-method
| FileSystemObject|ファイルシステムオブジェクト |
| GetFileName|ファイル名を取得する |
| GetBaseName|拡張子を除いた名前を取得する |
| GetExtensionName|拡張子を取得する |
| Error Handling|エラーハンドリング |
With FileSystemObject,
you can easily extract
the filename from a full path
you can easily extract
the filename from a full path
2022-12-02
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-

グラフ設定を変更する 【VBA】グラフ設定を動的に変更する -

[VBA]画像として貼り付けCopyPicture 【VBA】セル範囲を画像としてコピーする|CopyPicture -

[VBA]Vertical Paste1D array 【VBA】一次元配列を縦方向にシートに貼り付け【範囲をリサイズする】 -

ユーザーフォームを半透明にする 【VBA】ユーザーフォームを半透明にしてシートの内容が見えるようにする|waiting-form -

[VBA]Merge1D Arrays 【VBA】一次元配列と一次元配列を結合する -

[VBA]Auto DiffHTML Output 【VBA】WinMergeでファイルを自動比較&HTMLレポート出力|AIより手軽