見出し画像

エクセル小技:フォルダの奥のファイルまで一覧作成マクロ

ファイルの一覧表が簡単に作れると便利ですよね。
作成済みのマクロを張り付けて、実行するだけで簡単に出来ます。

と言いつつ、フォルダの中まで抜き出す場合は、少し難易度高いです。
フォルダ無視して良い場合は、簡単な方を見て下さい。

では、ちょっとだけ難しいですが。

1.対象のフォルダ名をセルに入力する

対象のフォルダ名を入力します。フルパスで入れて下さい。
入力したセルの下にファイル一覧が出来上がるので、下に空きがあるセルに入力してください。
ここで、フォルダ名のセルをちゃんと選んでおいてください。選んでないと、マクロがエラーになります。

どこでも良いけど、こんな感じ

2.Alt + F11 で、マクロ入力画面を表示

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

読まなくて良い情報の方が多いぞ

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

右側でカーソルがチカチカし出したらOK

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.マクロ開始部分をマウスでクリックする

説明すると難しいのですが、マクロの開始ポイントを指定して動かす必要があります。
下のスクショの赤四角で囲まれた範囲の中を、一回マウスでクリックして下さい。

プロのプログラマーなら、マウスクリック無しでもなんとかするよw

6.F5 キーでマクロを実行

クリックしたら、F5 を1回押して下さい。もう、終わりです。

7.張り付けたマクロを削除

Ctrl + A → Delete で、さっき張り付けたマクロを削除してください。
ちゃんと削除しとかないと、ファイル保存でハマります。

貼り付け前と同じ画面です

8.Alt + F4 でマクロ入力画面を閉じる

もちろん、×ボタンを押すのでも良いです。

9.ファイル一覧が出来てます

後は良い感じにして下さい。

フォルダ階層で右に寄ります

おまけ

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

コメント外しただけ


いいなと思ったら応援しよう!