VBA ファイルパスからファイル名と拡張子のみを取得する
VBAで、ファイルパスからファイル名と拡張子のみを取得するコードを記述してます。
環境
- OS windows10 64bit
ファイル名と拡張子のみを取得
ファイル名と拡張子のみを取得するには、「Scripting.FileSystemObject」を使用します。
適当なボタンを用意して、パス「C:\hoge\test.xlsx」から「test.xlsx」だけを取得して表示する
以下のソースコードを記述します。
Private Sub CommandButton1_Click()
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim strFileName As String
strFileName = "C:\hoge\test.xlsx"
Cells(2, 2).Value = objFSO.GetFileName(strFileName)
End Sub
実行してみます。
取得されていることが確認できます。
「Scripting.FileSystemObject」を使用しないで、以下のようにしても取得可能です。
Cells(2, 2).Value = Right(strFileName, Len(strFileName) - InStrRev(strFileName, "\"))
その他取得
「Scripting.FileSystemObject」を使用すれば、ファイル名のみや拡張子のみといった情報も取得可能です。
Private Sub CommandButton1_Click()
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim strFileName As String
strFileName = "C:\hoge\test.xlsx"
' ファイル名 + 拡張子 test.xlsx
Cells(2, 2).Value = objFSO.GetFileName(strFileName)
' パスのみ C:\hoge
Cells(3, 2).Value = objFSO.GetParentFolderName(strFileName)
' ファイル名 test
Cells(4, 2).Value = objFSO.GetBaseName(strFileName)
' 拡張子 xlsx
Cells(5, 2).Value = objFSO.GetExtensionName(strFileName)
End Sub
実行結果
-
前の記事
ubuntu22.04 aptでインストールしているパッケージを取得する 2022.04.01
-
次の記事
javascript htmlタグの要素の高さと幅を枠線の幅を含んで取得する 2022.04.02
コメントを書く