
エクセル小技:フォルダの奥のファイルまで一覧作成マクロ
ファイルの一覧表が簡単に作れると便利ですよね。
作成済みのマクロを張り付けて、実行するだけで簡単に出来ます。
と言いつつ、フォルダの中まで抜き出す場合は、少し難易度高いです。
フォルダ無視して良い場合は、簡単な方を見て下さい。
では、ちょっとだけ難しいですが。
1.対象のフォルダ名をセルに入力する
対象のフォルダ名を入力します。フルパスで入れて下さい。
入力したセルの下にファイル一覧が出来上がるので、下に空きがあるセルに入力してください。
ここで、フォルダ名のセルをちゃんと選んでおいてください。選んでないと、マクロがエラーになります。

2.Alt + F11 で、マクロ入力画面を表示
Alt キーを押しながら F11 を押して、マクロ入力画面を表示させて下さい。

3.ThisWorkbook をダブルクリックして、右側にテキスト入力域を表示する

4.マクロコードを張り付ける
下のコードをコピーして貼り付けて下さい。
'フォルダー・ファイル一覧出力マクロ:再帰型
Dim G_Row, G_Col
Dim G_fso
'↓↓↓ このサブルーチンの中をマウスクリックしてからF5 ↓↓↓
Sub Mac_file_list()
Set G_fso = CreateObject("scripting.filesystemobject")
G_Row = ActiveCell.Row
G_Col = ActiveCell.Column - 1
Call S_Folder_filelists(ActiveCell.Value)
End Sub
'↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
Sub S_Folder_filelists(P_SubFolderName)
Dim L_Folder, L_FolderCollection, L_FileCollection
Set L_Folder = G_fso.getfolder(P_SubFolderName)
Set L_FolderCollection = L_Folder.SubFolders
G_Col = G_Col + 1
For Each L_SubFolder In L_FolderCollection
G_Row = G_Row + 1
Cells(G_Row, G_Col) = L_SubFolder.Name
Call S_Folder_filelists(L_SubFolder.Path) ' ← フォルダの中身を知りたくない時はコメントアウトする
Next
Set L_FileCollection = L_Folder.Files
For Each L_File In L_FileCollection
G_Row = G_Row + 1
Cells(G_Row, G_Col) = L_File.Name
' Cells(G_Row, ActiveCell.Column+11) = L_File.Size ' ←ファイルサイズも出力
' Cells(G_Row, ActiveCell.Column+12) = L_File.DateCreated ' ←作成日も出力
' Cells(G_Row, ActiveCell.Column+13) = L_File.DateLastModified ' ←更新日も出力
Next
G_Col = G_Col - 1
End Sub
5.マクロ開始部分をマウスでクリックする
説明すると難しいのですが、マクロの開始ポイントを指定して動かす必要があります。
下のスクショの赤四角で囲まれた範囲の中を、一回マウスでクリックして下さい。

6.F5 キーでマクロを実行
クリックしたら、F5 を1回押して下さい。もう、終わりです。
7.張り付けたマクロを削除
Ctrl + A → Delete で、さっき張り付けたマクロを削除してください。
ちゃんと削除しとかないと、ファイル保存でハマります。

8.Alt + F4 でマクロ入力画面を閉じる
もちろん、×ボタンを押すのでも良いです。
9.ファイル一覧が出来てます
後は良い感じにして下さい。

おまけ
ソースコード読んだ人は分かると思いますけど、ファイル名の一覧の横には、サイズ・作成日・更新日も出せます。
適当に改造してね。
