こんにちは。
今回は、パスからファイル名を抽出する方法を紹介します。
概要
Scripting.FileSystemObjectを使用します。
ファイル名を取得するサンプル
GetBaseNameを用いて拡張子を除いたファイル名を取得します。
Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Debug.Print (fso.GetBaseName("C:\hoge\test1\text.txt")) Debug.Print (fso.GetBaseName("C:\hoge\test2\book.xlsx")) Debug.Print (fso.GetBaseName("C:\hoge\test3\book2.xlsm")) Set fso = Nothing
結果は以下。
text book book2
拡張子を取得するサンプル
GetExtensionNameを用いて拡張子を取得します。
Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Debug.Print (fso.GetExtensionName("C:\hoge\test1\text.txt")) Debug.Print (fso.GetExtensionName("C:\hoge\test2\book.xlsx")) Debug.Print (fso.GetExtensionName("C:\hoge\test3\book2.xlsm")) Set fso = Nothing
結果は以下。
txt xlsx xlsm
まとめ
ファイル名だけ、拡張子だけを取得したいときってあると思うので
知っていると便利です。
以上です。