非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

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]

スポンサーリンク

 - Excel, VBA