銀河鉄道

【VBA】フルパスからファイル名と拡張子を取得する|fso.GetFileName/GetBaseName/GetExtensionName

サムネイル
[VBA]extract the filenamefrom a full path

フルパスから拡張子付きのファイル名を取得

' 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

| FileSystemObject|ファイルシステムオブジェクト |
| GetFileName|ファイル名を取得する |
| GetBaseName|拡張子を除いた名前を取得する |
| GetExtensionName|拡張子を取得する |
| Error Handling|エラーハンドリング |

With FileSystemObject,
you can easily extract
the filename from a full path

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧