W jaki sposób wylistować listę podfolderów w katalogu? Jednym z lepszych sposobów jest wykorzystanie metody FileSystemObject.GetFolder.
Załóżmy, że mamy taki taki układ folderów (przykład z mojego dysku):

Katalog z listą podfolderów można wylistować w komórkach Excela do takiej postaci:

Przykładowy kod może wyglądać tak:
| Public Sub Foldery() Dim FSO As Object Dim Folder As Object Dim Podfolder As Object Dim JNazwa As String Dim NF As String Dim i As Long Dim k As Long Set FSO = CreateObject(„Scripting.FileSystemObject”) Set Folder = FSO.GetFolder(Range(„A2”).Value) i = 2 For Each Podfolder In Folder.SubFolders i = i + 1 JNazwa = Podfolder.Name Cells(i, 2) = JNazwa i = Podfoldery(Folder & „\” & JNazwa, 3, i) Next Podfolder End Sub _________________________________ Public Function Podfoldery(JF As String, k As Long, w As Long) Dim FSOP As Object Dim FolderP As Object Dim PodfolderP As Object Dim JNazwaP As String Set FSOP = CreateObject(„Scripting.FileSystemObject”) Set FolderP = FSOP.GetFolder(JF) For Each PodfolderP In FolderP.SubFolders w = w + 1 JNazwaP = PodfolderP.Name Cells(w, 3) = JNazwaP Next PodfolderP Podfoldery = w Set FolderP = Nothing Set FSOP = Nothing End Function |
Oczywiście kod można rozbudować do wylistowania kolejnych poziomów.
Jeśli trzeba – mogę pomóc.

