なんだかGoodVibes

日々の勉強メモです。

【VBA】パスからファイル名・拡張子を抽出する

こんにちは。
今回は、パスからファイル名を抽出する方法を紹介します。


概要

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


まとめ

ファイル名だけ、拡張子だけを取得したいときってあると思うので
知っていると便利です。
以上です。