【ExcelVBA】サブフォルダ内も含めたファイル名の一覧出力(Scripting.FileSystemObject)
サブフォルダ内も含めたファイル名の一覧出力をする、サンプルマクロです。
◆出力結果の例◆
※7行目のRecursiveプロシージャは、自分自身であるRecursiveプロシージャを再帰呼び出しすることによってフォルダパスからサブフォルダを取得していく構造になっています。
◆出力結果の例◆
E:\opencv\opencv331\sources\apps\traincascade\traincascade.cpp
E:\opencv\opencv331\sources\apps\traincascade\traincascade_features.h
E:\opencv\opencv331\sources\apps\version\CMakeLists.txt
E:\opencv\opencv331\sources\apps\version\opencv_version.cpp
E:\opencv\opencv331\sources\apps\visualisation\CMakeLists.txt
E:\opencv\opencv331\sources\apps\visualisation\opencv_visualisation.cpp
E:\opencv\opencv331\sources\apps\traincascade\traincascade_features.h
E:\opencv\opencv331\sources\apps\version\CMakeLists.txt
E:\opencv\opencv331\sources\apps\version\opencv_version.cpp
E:\opencv\opencv331\sources\apps\visualisation\CMakeLists.txt
E:\opencv\opencv331\sources\apps\visualisation\opencv_visualisation.cpp
イミディエイト画面に一行ずつ出力
Sub Sample()
Call Recursive("E:\opencv\opencv331\sources\apps")
End Sub
Sub Recursive(Path As String)
Dim SubF As Object
Dim Buf As String
Buf = Dir(Path & "\*.*")
Do While Buf <> ""
Debug.Print Path & "\" & Buf
Buf = Dir()
Loop
With CreateObject("Scripting.FileSystemObject")
For Each SubF In .GetFolder(Path).SubFolders
Call Recursive(SubF.Path)
Next SubF
End With
End Sub
※3行目にフォルダパスを記入します。※7行目のRecursiveプロシージャは、自分自身であるRecursiveプロシージャを再帰呼び出しすることによってフォルダパスからサブフォルダを取得していく構造になっています。




ディスカッション
コメント一覧
まだ、コメントがありません