AW: Verzeichnisse auslesen und unbennenen
05.02.2022 13:21:47
Yal
Hallo Markus
eine Verzeichnisstruktur ist ein Baum und Bäume geht man rekursiv an.
Beachte den "Unter Verweis auf "Microsoft Scripting Runtime"
Bei der Ausgabe kannst Du herausnehmen, was zu Dir passt.
'Unter Verweis auf "Microsoft Scripting Runtime"
Dim FSO As FileSystemObject
Const AusgTab = "Tabelle1"
Const DML = 22 'Doppelte Max Lange eines Verz-Pfad
Public Sub Start()
Worksheets(AusgTab).Range("A1:C1") = Array("Name", "Pfad", "Align-To-Root")
Worksheets(AusgTab).Cells(1, DML) = "Align-To-Leaf"
Set FSO = New FileSystemObject
Verzeichnis_auflisten FSO.GetFolder("C:\temp")
End Sub
Private Sub Verzeichnis_auflisten(Basisverz As Folder)
Dim V As Folder
Verzeichnislnfo_ausgeben Basisverz
For Each V In Basisverz.SubFolders
Verzeichnis_auflisten V
Next
End Sub
Private Sub Verzeichnislnfo_ausgeben(Verz As Folder)
Dim Z As Range
Dim Arr
Set Z = Worksheets(AusgTab).Cells(Rows.Count, "A").End(xlUp).Offset(1)
Z = Verz.Name ' Verzeichnisname
Z.Offset(, 1) = Verz.Path 'Verzeichnis inkl Pfad
Arr = Split(Verz.Path, "\")
Z.Offset(, 2).Resize(, UBound(Arr) + 1) = Arr 'Verzeichnis-Pfad "align to root"
Z.Offset(, DML - UBound(Arr)).Resize(, UBound(Arr)) = Arr 'Pfad "align to leaf"
End Sub
VG
Yal