Excel/VBA:ファイル一覧を取得する方法
今回はExcel/VBAで特定フォルダ内のファイル一覧を取得する方法です。
これもよく使います。
Excelマクロは基本データ処理に使うので、外部ファイルになっているデータを読み込む機会が多いんですね。で、そのファイル名は日付時間で表したりしていて一定じゃないんです。なので、一旦ファイルリストを作って、そこから読み込むファイルを特定する、なんてことはよくあるケースです。
※ここ最近、Excelマクロ(VBA)でよく使うシリーズが連続していますが、結構忘れがちでそのたびにググっているので、ここで書き留めておくことにしています。
[ad#top-1]
ソースコード
こちらがソースコードです。
Sub getFileList() dirname = ActiveWorkbook.Path fname = Dir(dirname & "\*.*") r = 1 Do While fname <> "" Cells(r, 1) = fname fname = Dir() r = r + 1 Loop End Sub
今回は自分が置かれたフォルダ内(カレントディレクトリ内)のファイル一覧を取得させていますが、フォルダ名を指定したい場合は、dirname
にそのパスを入れてください。
あと、特定の拡張子を指定したい場合は、fname
で指定できます。例えば、.xlsmのみを取得したい場合は、fname = Dir(dirname & "\*.xlsm")
とすればOKです。
実行
ご覧の通り、フォルダ内のファイル一覧をA列に表示させることができました。
[ad#ad-1]
スポンサーリンク