Wie man ein Verzeichnis und Unterverzeichnis in VBA finden . In VBA , können Sie mit dem "Dir" -Funktion , um Verzeichnisnamen in einem Pfad zu erhalten. Nachdem Sie das Verzeichnis , die Sie suchen gefunden haben, können Sie den Pfad zum Verzeichnis Unterverzeichnisse finden. Dieses Verfahren ist nützlich, wenn Sie eine Datei in einem bestimmten Verzeichnis zu speichern , aber nicht über den vollständigen Pfad für sie brauchen. Things You
Microsoft Office Excel
brauchen anzeigen Weitere Anweisungen
1
Starten Sie Microsoft Office Excel , klicken Sie auf die Registerkarte "Entwicklertools" und klicken Sie auf " Visual Basic ". Klicken Sie auf das Menü "Einfügen" und klicken Sie auf "Module" , um einen neuen Code-Modul einfügen
2
Geben Sie den folgenden , um eine neue Sub-Prozedur zu erstellen : .
Private Sub findDirectories ()
3
Fügen Sie den folgenden Code, um drei Variablen, die Sie verwenden , um das Verzeichnis des Interesses finden zu erstellen :
Dim StartPath As String Dim
myname As String
Dim dirFound As Boolean
4
Definieren Sie das Laufwerk, auf dem Sie nach dem Verzeichnis suchen und bekommen das erste Verzeichnis :
StartPath = " C: \\"
myname = Dir ( StartPath , vbDirectory )
5
erstellen while-Schleife der Homepage Verzeichnis "C: \\ ", bis die "Temp "-Verzeichnis gefunden wurde, und rufen die " getSubDirectories " Sub-Prozedur , um alle Unterverzeichnisse im "Temp" -Verzeichnis zu bekommen:
Do While dirFound = False
Wenn myname <> " . " Und myname <> ".." Dann
( GetAttr ( StartPath & myname ) Und vbDirectory ) = vbDirectory Dann
Wenn myname = "Temp" Dann
dirFound = True
Anruf getSubDirectories ( StartPath & myname & "\\" )
End If End If
End If
( dirFound = False ) Then
myname = Dir
End If
Schleife
End Sub
6
Kopieren Sie den folgenden Code, um die " getSubDirectories erstellen " Sub-Prozedur und zeigt alle Unterverzeichnisse in dem gefundenen " Temp "-Verzeichnis mit dem Direkt-Fenster :
private Sub getSubDirectories ( StartPath As String) Dim
myname As String
< p > myname = Dir ( StartPath , vbDirectory )
Do While myname <> ""
Wenn myname <> " . " Und myname <> ".." Dann
( GetAttr ( StartPath & myname ) Und vbDirectory ) = vbDirectory Dann
Debug.Print myname
End If End If
myname = Dir
Schleife
End Sub
7
Drücken Sie "Strg " und " G" , um das Direkt-Fenster . Klicken Sie in " findDirectories " und "F5" drücken , um das Programm auszuführen.