GetFiles|フォルダ内ファイル一覧を拡張子指定で取得 | Excel VBA
- yuji fukami
- 2024年1月15日
- 読了時間: 2分
更新日:1月4日

<概要 (ファイル一覧 VBA)>
GetFilesは、指定したフォルダ内に存在するファイルを一覧で取得するためのExcel VBA用汎用プロシージャです(ファイル一覧 VBA)。
Microsoft Scripting Runtime(FileSystemObject)を利用し、フォルダ内のファイルを高速かつ安定して取得できます。
本プロシージャの特徴は、可変長引数(ParamArray)で拡張子を指定できる点にあります。
特定の拡張子(例:xlsx、csv、jpg など)のみを抽出することも、拡張子指定なしですべてのファイルを取得することも可能です。
戻り値はファイル名の一次元配列で、対象ファイルが存在しない場合は Empty を返します。
そのため、後続処理では IsEmpty を用いた安全な分岐が可能です。
「フォルダ内ファイル取得」をスマートに実装したい場合に、そのまま再利用できる実務向けの汎用プロシージャです。
<用途>
フォルダ内のファイル一覧を取得する
<プロシージャ紹介>
Public Function GetFiles(FolderPath As String, ParamArray Extensions() As Variant) As Variant
名前: GetFiles /Functionプロシージャ
説明: フォルダ内のファイルを一覧で取得する
引数 FolderPath・・・検索対象のフォルダパス
Extensions・・・取得対象の拡張子、可変長引数配列で入力
<実行例>
次のようなコードを用意します。
対象のフォルダのフォルダパスは「C:\Test\GetFiles用」を指定していますが、テスト用としてこのフォルダには次のようなファイルを用意しています。

実行後にローカルウィンドウを確認して各変数「FileList_txt」「FileList_bmp」「FileList_txt_bpm」の中身を確認すると、引数で指定した拡張子のファイルのファイル名が一次元配列に格納されているのが確認できます。




