※ ChatGPTを利用し、要約された質問です(原文:【EXCELマクロ】サブフォルダ内のファイル名一覧)
【EXCELマクロ】サブフォルダ内のファイル名一覧
このQ&Aのポイント
マクロ初心者のため、サブフォルダ内のファイル名一覧を取得するExcelマクロの作成についてアドバイスを求めています。
現在のコードでは、フォルダ内のファイル名を取得することはできますが、サブフォルダ内のファイル名を取得する方法が分からない状況です。
ファイルをフォルダで分類する必要があり、フォルダ名を表示せずにサブフォルダ内のファイル名のみを表示する方法を教えていただきたいです。
【EXCELマクロ】サブフォルダ内のファイル名一覧
いつもお世話になります。
マクロ初心者です。
ファイル名の一覧を取得するマクロを、他サイトを参考に作成しました。
構造は以下のようになっておりました。
C:\test\ファイル
├1234-5678.pdf
├1234-5679.pdf
├1234-5680.pdf
・
・
・
これについては、下記のコードでファイル名を取得することができました。
Sub ファイル一覧()
フォルダ = "C:\test\ファイル"
ファイル名 = Dir(フォルダ & "\*.*")
行 = 2
Range("A2:A1000").Clear
Do While ファイル名 <> ""
Cells(行, 1).Value = Left(ファイル名, 9)
行 = 行 + 1
ファイル名 = Dir()
Loop
End Sub
Sheet1のA列に以下のように表示されます。
1234-5678
1234-5679
1234-5680
・
・
・
ところが今回、ファイルをフォルダで分類することになってしまいました。
以下のような構造です。
C:\test\ファイル
└カテゴリ1
└サブカテゴリ1-1
├1234-5678.pdf
└1234-5679.pdf
└カテゴリ2
└サブカテゴリ2-1
└1234-5680.pdf
└サブカテゴリ2-2
└1234-5681.pdf
・
・
・
望む結果としては、フォルダ名は表示させず、
上記と同様、A列にファイル名のみを表示したいと思っています。
1234-5678
1234-5679
1234-5680
1234-5681
・
・
・
フォルダ名にワイルドカードを用いればいいかと思うのですが、どうにも上手くいきません。
※PDFファイルを置く階層は、すべて カテゴリ→サブカテゴリ 以下(2階層)です。
※ファイル名の文字数はすべて同一です。
どのようにコードを変更すれば上手くいくでしょうか。
アドバイスだけでもいただけると幸いです。
長々とごめんなさい。よろしくお願いいたします。
お礼
記入漏れでした、EXCEL2007です。 これ以上回答がつかないようなので、リンク先で勉強してまた出直させていただきます。 質問に不備があったにも関わらず、ご回答ありがとうございました。