Kapitel 11: Dateien und Verzeichnisse
Hier die eigentliche Funktion, die rekursiv aufgerufen werden kann:
Sub ShowSubfolders(f As Folder)
Dim myf2 As Folder
level = level + 1
For Each myf2 In f.SubFolders
Debug.Print Space(level * 3) & "\" & myf2.Name
ShowSubfolders myf2
Next
level = level – 1
End Sub
Da die
SubFolders
-Auflistung nicht die Verzeichniseinträge ».« und »..« enthält, können wir auf eine Sonder-
behandlung an dieser Stelle verzichten.
Der Aufruf der obigen Funktion erfolgt nach der Initialisierung eines
FileSystemObjects
mit nachfolgender
Auswahl des Root-Verzeichnisses (in diesem Fall »C:\Users\Chef\Access 2007«)
Dim myfso As FileSystemObject, myf1 As Folder
level = 0
Set myfso = CreateObject("Scripting.FileSystemObject")
Set myf1 = myfso.GetFolder("C:\Users\Chef\Access 2007") ' Root-Verzeichnis anpassen!
ShowSubfolders myf1
Set myfso = Nothing
Abbildung 11.5 Das Resultat im Direktfenster
Ein Verzeichnis erzeugen
Installationsprogramme oder Exportfunktionen nehmen vom Bediener häufig Zielpfade entgegen, die
gleich mehrere Unterverzeichnisse enthalten können. Die MkDir-Funktion liefert für dieses Problem keine
optimale Lösung, weil damit das gleichzeitige Anlegen von mehr als einem Unterverzeichnis unmöglich ist.
Abhilfe schafft die folgende Prozedur:
Sub Mk_Dir(bez1 As String)
On Error Resume Next
Dim verz As String, bez As String
bez = bez1 : verz = Left$(bez, 3)
692

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.