# Ordnerliste in Textdatei ausgeben?



## Sadogoat (6. August 2004)

Hallo,
ich probier hier nun schon ewig rum und google wie ein Verrückter, aber es klappt einfach nicht so wie ich es will.. folgendes:

Ich will einfach nur eine Textdatei, in der sich dann (z.B. durch Klick auf Button) eine Ordnerliste (Anfangsordner ist natürlich selbst festzulegen) mit allen Unterordnern befindet (also auch die Unterordner der Unterordner etc.)..
Es sollte der ganze Pfad aufgelistet sein und jeder eigene Pfad eine eigene Zeile sein..
Die Liste soll auch keine Dateinamen beinhalten, einfach nur die Ordnerpfade..

Von mir aus kann es auch ein Makro für Excel sein oder so..

Ich hoffe Problem wurde verstanden und ich bitte um Hilfe


----------



## Shakie (6. August 2004)

Das ist einfach. Hier hilft mal wieder das FileSystemObject.
Damit lassen sich alle Ordner in einem Verzeichnis anzeigen. Für jeden gefundenen Unterordner wird die Prozedur erneut aufgerufen:
	
	
	



```
Private Sub UnterVerzeichnisseAuflisten(ByVal Startverzeichnis As String)
    Dim fso As FileSystemObject
    Set fso = New Scripting.FileSystemObject
    Dim Verzeichnis As Folder
    Dim UnterVerzeichnis As Folder
    
    Set Verzeichnis = fso.GetFolder(Startverzeichnis)
    
    'Alle Unterberzeichnisse durchlaufen:
    For Each UnterVerzeichnis In Verzeichnis.SubFolders
        'Unterverzeichnispfad in TextBox schreiben:
        Me.Text1.Text = Me.Text1.Text & UnterVerzeichnis.Path & vbCrLf
       'Dem Computer zeit geben, alle seine Prozesse ordentlich abzuarbeiten:
        DoEvents
        'Jetzt das aktuelle Unterverzeichnis wiederum überprüfen, ob es weitere
        'Unterverzeichnisse enthält:
        '(Dazu wird diese Prozedur durch sich selber erneut aufgerufen)
        UnterVerzeichnisseAuflisten (UnterVerzeichnis.Path)
    Next
    
End Sub


Private Sub btStart_Click()
    'Hier wird unsere Prozedur gestartet:
    UnterVerzeichnisseAuflisten ("C:\Programme")
    MsgBox "Fertig!", vbInformation
End Sub
```
*Beachte:* Ich schreibe die Verzeichnispfade nur in eine TextBox (Text1) und nicht in eine Datei.


----------



## Sadogoat (6. August 2004)

Hmm, danke erstmal für die Antwort, aber bei mir sagt er beim Kompilieren bei
fso As FileSystemObject: 'benutzerdefinierter Typ nicht definiert".. und somit erkennt er ja auch As 'folder' nicht.

was mach ich falsch? liegt es vielleicht daran, dass ich nur VB6 hab?..


----------



## Shakie (7. August 2004)

Du musst natürlich den Verweis auf die "Microsoft Scripting Runtime" einstellen:
Menü Projekt-->Verweise und dann *"Microsoft Scripting Runtime"* anklicken.
Nicht verwechseln mit "Microsoft Script Runtime"!


----------



## Sadogoat (7. August 2004)

Ah wunderbar! Na dann mal recht herzlichen Dank!.. soll heißen es funktioniert hehe..
Danke


----------

