◆Fileの一覧をサブフォルダを含めて取得する(再帰呼び出し)

来源:互联网 发布:地图数据 编辑:程序博客网 时间:2024/05/22 13:42

转自:http://www.k1simplify.com/vba/tipsleaf/leaf280.html

自分で自分を呼び出す、再帰呼び出しのサンプルです。 再帰呼び出しは C 等では良く使う手法です。 サンプルではサブフォルダを含めて、ファイルの一覧をフォルダを指定して 取得しています。 File の一覧をセルに入力します。 File の一覧や Folder の一覧を取得する部分は、「File / Folder の一覧を取得する」 を参照してください。 cnt と Pop は パブリック宣言してあります。 Popはフォルダの階層をカウントしていて、File 一覧を階層的に表示するために 使用しています。 example13 をダウンロードして動作を確認してください。
Sub ListUp(FolderSpec)    Dim File_Collection As Object    Dim File_List As Variant    Dim Folder_Collection As Object    Dim Folder_List As Variant        Set File_Collection = _                     CreateObject("Scripting.FileSystemObject") _                    .GetFolder(FolderSpec).Files        'Foldor の名前をセルに入力    Cells(cnt, Pop) = FolderSpec    cnt = cnt + 1    For Each File_List In File_Collection        Cells(cnt, Pop + 1) = File_List.Name        cnt = cnt + 1    Next        Set Folder_Collection = _                       CreateObject("Scripting.FileSystemObject") _                      .GetFolder(FolderSpec).SubFolders        For Each Folder_List In Folder_Collection        Pop = Pop + 1        ListUp FolderSpec & "\" & Folder_List.Name    Next    Pop = Pop - 1End Sub
原创粉丝点击