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 cartella che stai cercando , è possibile utilizzare il percorso di directory per trovare le sottodirectory . Questo processo è utile quando è necessario salvare un file in una determinata directory , ma non hanno il percorso completo per esso . Cose che ti serviranno
Microsoft Office Excel
Mostra più istruzioni
1
lancio di Microsoft Office Excel , fare clic sulla scheda "Sviluppatore " e cliccare su " Visual Basic ". Fai clic sul menu "Inserisci" e fare clic su "Modulo" per inserire un nuovo modulo di codice
2
Digitare quanto segue per creare una nuova procedura secondaria : .
FindDirectories Private Sub ( )
3
Aggiungere il seguente codice per creare tre variabili che si intende utilizzare per trovare la directory di interesse :
Dim startPath As String Dim
mionome As String
Dim dirFound come booleano
4
Definire l'unità in cui si desidera effettuare la ricerca per la directory e ottenere il primo elenco :
startPath = " C : \\ "
myname = Dir ( startPath , vbDirectory ) economici 5
Creare un ciclo while , cercare ogni directory in " C : \\ " fino a quando è stato trovato nella directory "Temp" , e chiamare le " getSubDirectories " sub procedura per ottenere tutte le sottodirectory presenti nella directory " Temp" :
fare mentre dirFound = False
mionome < > " . " E mionome < > ".." Poi
( GetAttr ( startPath & mionome ) E vbDirectory ) = vbDirectory Poi
myname = " Temp" Allora
dirFound = True
chiamata getSubDirectories ( startPath & mionome & " \\ " ) per
End If
End If End If
( dirFound = False ) Then
myname = Dir
End If loop
End Sub
6
Copia e incolla il seguente codice per creare le " getSubDirectories "sub procedimento e di visualizzare tutte le sottodirectory presenti nella directory" Temp " usando la finestra immediata :
getSubDirectories private Sub ( startPath As String ) per
Dim myName Come
String < p > mionome = Dir ( startPath , vbDirectory ) per
Do While mionome < > " "
mionome < > " . " E mionome < > ".." Poi
( GetAttr ( startPath & mionome ) E vbDirectory ) = vbDirectory Poi
Debug.Print mionome
End If End If
myname = Dir
loop
End Sub
7
Premere " Ctrl " e "G" per visualizzare la finestra immediata . Clicca dentro " findDirectories " e premere " F5 " per eseguire il programma .