November 9
Trovare una directory e sottodirectory utilizzando Visual Basic, Applications Edition (VBA) non è così complicato come si potrebbe pensare. In VBA, è possibile utilizzare la funzione "Dir" per ottenere i nomi delle directory in un percorso. Una volta trovata la directory che stai cercando, è possibile utilizzare il percorso della directory per trovare le sottodirectory. Questo processo è utile quando è necessario salvare un file in una particolare directory, ma non hanno il percorso completo per esso.
1 Avviare Microsoft Office Excel, fare clic sulla scheda "Sviluppatore" e fare clic su "Visual Basic". Fare clic sul menu "Inserisci" e fare clic su "Modulo" per inserire un nuovo modulo di codice.
2 Digitare la seguente per creare una nuova procedura sotto:
findDirectories Private Sub ()
3 Aggiungere il seguente codice per creare tre variabili si intende utilizzare per trovare la directory di interesse:
Dim startPath As String
mionome Dim As String
Dim dirFound Come booleano
4 Definire l'unità in cui si desidera cercare la directory e ottenere il primo elenco:
startPath = "C: \"
myname = Dir (startPath, vbDirectory)
5 Creare un ciclo while, cercare ogni directory "C: \" fino a quando è stato trovato nella directory "Temp", e chiamare la procedura secondaria "getSubDirectories" per ottenere tutte le sottodirectory presenti nella directory "Temp":
Do While dirFound = False
Se mionome & lt;> "." E mionome & lt;> ".." Poi
Se (GetAttr (startPath & mionome) E vbDirectory) = vbDirectory Poi
Se myname = "Temp" Allora
dirFound = True
getSubDirectories di chiamata (startPath & mionome & "\")
Finisci se
Finisci se
Finisci se
Se (dirFound = False) Poi
myname = Dir
Finisci se
Ciclo continuo
End Sub
6 Copiare e incollare il seguente codice per creare la routine Sub "getSubDirectories" e potrai vedere tutti i sottodirectory presenti nella directory "Temp" utilizzando la finestra immediata:
Private Sub getSubDirectories (startPath As String)
Dim myname As String
myname = Dir (startPath, vbDirectory)
Do While mionome & lt;> ""
Se mionome & lt;> "." E mionome & lt;> ".." Poi
Se (GetAttr (startPath & mionome) E vbDirectory) = vbDirectory Poi
Debug.Print MyName
Finisci se
Finisci se
myname = Dir
Ciclo continuo
End Sub
7 Premere il tasto "Ctrl" e "G" per visualizzare la finestra immediata. Fare clic all'interno "findDirectories" e premere il tasto "F5" per eseguire il programma.