【ExcelVBA】サブフォルダを含めたフォルダ名の一覧出力(Scripting.FileSystemObject)

ExcelVBA, フォルダの操作

サブフォルダを含めたフォルダ名の一覧出力をする、サンプルマクロです。

◆出力結果の例◆
E:\opencv\opencv331\sources\apps\annotation
E:\opencv\opencv331\sources\apps\createsamples
E:\opencv\opencv331\sources\apps\interactive-calibration
E:\opencv\opencv331\sources\apps\traincascade
E:\opencv\opencv331\sources\apps\version
E:\opencv\opencv331\sources\apps\visualisation

イミディエイト画面に一行ずつ出力

Sub Sample()

    Call Recursive("E:\opencv")

End Sub

Sub Recursive(Path As String)
		Dim SubF As Object
    Debug.Print Path
    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プロシージャを再帰呼び出しすることによってフォルダパスからサブフォルダを取得していく構造になっています。