【Excel】VBAでファイル名称を取得する方法をコードで解説

こんにちは!今回は、Excel VBAを使って特定フォルダ内のファイル名を自動で取得する方法をご紹介します。ファイル名のリスト化作業は手動で行うと時間がかかりますが、この方法を使えば、数秒で大量のファイル名を抽出できます。「フォルダ内のファイルを一括で管理したい」や、「ファイル名を使ったデータ整理や処理を効率化したい」といった課題を抱える方に役立つ内容です。

使用するExcelフォーマット

今回のExcelシートでは、B列に番号、C列にファイル名を出力する形式を採用しています。VBA実行後、4行目以降にファイル名が抽出されます。

画像に alt 属性が指定されていません。ファイル名: S02-2-1.bmp

抽出対象フォルダ

抽出対象のフォルダは、Cドライブ直下の「temp」フォルダに格納された6つのファイル(Excelファイルとテキストファイル)です。動作としては、フォルダ内の全ファイル名を取得します。

画像に alt 属性が指定されていません。ファイル名: S02-1-1.bmp

実行結果

VBAを実行した結果、下記のようにC列にファイル名が抽出されました。

画像に alt 属性が指定されていません。ファイル名: S02-4-1.bmp

コード★★★(コピーはここ)★★★

解説

1. 変数の宣言

  • FileName:取得したファイル名を格納する変数。
  • RowNum:ファイル名を貼り付ける行番号を管理します。

2. フォルダパスと出力開始位置の指定

  • FolderPath には、ファイル名を抽出する対象フォルダのパスを指定。
  • 出力は 4行目 から開始。

3. ファイル名取得と出力

  • Dir 関数を使用して、指定フォルダ内の全ファイル名を取得。
  • ループ内でC列に順次ファイル名を貼り付け、行番号を更新。

使用している技術

  • Dir関数:フォルダ内のファイル名を取得する関数。
  • Do While Loop:条件に基づいてファイル名を全て取得するループ処理。

まとめ

今回のVBAコードを使えば、フォルダ内のファイル名を自動で抽出できます。この機能単体ではシンプルですが、次のステップ(例えばファイルの操作やデータ処理)へ繋げることが重要です。また、実際の運用時には、ファイルが見つからない場合やエラー処理の追加も検討しましょう。

コメント

タイトルとURLをコピーしました