Rekursives "DIR" per VBA
18.11.2004 15:13:21
Lonni
bei folgendem Code steigt VBA leider aus, wenn er aus dem ersten Verzeichnis eine Stufe zurückspringt... Sinn des ganzen ist einfach die Verzeichnisstruktur eines Pfades darzustellen.
Dim stufe As Byte
Dim found As Long
Sub start()
startpfad = "c:\docs\"
stufe = 0
found = 0
Call testitforme((startpfad))
End Sub
Sub testitforme(a As String)
stufe = stufe + 1
datei = Dir(a & "*.*", 16)
While datei <> ""
If GetAttr(a & datei) = vbDirectory And (datei <> "." And datei <> "..") Then
found = found + 1
Cells(found, stufe) = datei
Call testitforme((a & datei & "\"))
Else
found = found + 1
Cells(found, stufe) = datei
End If
datei = Dir
Wend
stufe = stufe - 1
End Sub
Wie gesagt... bei Rückkehr aus dem 1. Verzeichnis steigt er bei datei = Dir aus... wahrscheinlich blickt er nicht mehr wo er sich gerade befindet :-)
Wie kann ich das regeln?
Danke für Ideen!
Gruß Lonni