【VBA】ファイル名を取得する方法|FileSystemObjectの活用

目次

使用環境

  • OS:Windows 10 Pro(バージョン:20H2)
  • ソフト:Microsoft Excel VBA

経緯

VBAを使ってデータを抜き取るプログラムを作成している中で、
抜き取ったデータだけでなく、元ファイルのファイル名も取得したい場面がありました。

そこで今回は、**FileSystemObject(FSO)**を使ってファイル名を取得する方法について学びました。

解決方法:「fso.GetFile」を使う

ファイル名を取得するために、**fso.GetFile**メソッドを使用しました。

コード例

Dim fso As FileSystemObject
Set fso = New FileSystemObject

Dim f As File
Set f = fso.GetFile("C:\Users\morinokabu\デスクトップ\test.txt")

Dim s As String
s = f.Name

Set fso = Nothing

コード解説

  • 1行目:FileSystemObject型の変数fsoを宣言します。
  • 2行目fsoに新しいFileSystemObjectのインスタンスを代入します。
  • 3行目:File型の変数fを宣言します。
  • 4行目:指定したファイルパスからファイル情報を取得し、fにセットします。
  • 5行目:ファイル名を格納するためのString型変数sを宣言します。
  • 6行目:ファイル名(例:「test.txt」)をsに格納します。
  • 7行目:使用したFileSystemObjectを破棄し、メモリを解放します。

この流れにより、指定したファイルパスからファイル名のみを簡単に取り出すことができます。

この後の展開

今後の応用として、

  • 取得したファイル名をセルに書き込む
  • ファイル名から拡張子を除外して使用する
  • ファイル名を元にデータの管理や分類を行う

といった実用的な使い方ができるようになります。

特に複数ファイルを一括処理する場合などには非常に便利な技術となりますので、さらに活用方法を広げていきたいと考えています。

まとめ

VBAでファイル名を取得するには、FileSystemObjectを使い、GetFileメソッドからファイル名プロパティを呼び出すのが有効な方法です。

基本を押さえたうえで、今後はさらに応用的な操作にも挑戦していきたいと思います。

ここまでお読みいただき、誠にありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次