Finne en katalog og underkataloger ved hjelp av Visual Basic for Applications ( VBA ) er ikke så komplisert som du kanskje tror. I VBA , kan du bruke " Dir "-funksjonen for å få katalognavn i en bane. Når du har funnet den katalogen du leter etter , kan du bruke katalogen banen for å finne underkataloger . Denne prosessen er nyttig når du trenger å lagre en fil i en bestemt katalog , men ikke har den fullstendige banen for det. Du trenger
Microsoft Office Excel
Vis flere instruksjoner
en
Launch Microsoft Office Excel , klikk på " Developer " og klikk " Visual Basic. " Klikk på " Insert"-menyen og klikk " Module" for å sette inn en ny kode modul
2
Skriv inn følgende for å opprette en ny sub prosedyre : .
Private Sub findDirectories ( )
3
Legg til følgende kode for å opprette tre variablene du vil bruke til å finne katalogen av interesse : en
Dim startPath As String
Dim myname As String
Dim dirFound As Boolean
4
Definer stasjonen der du vil søke etter katalog og få den første katalogen : en
startPath = "C : \\"
myname = Dir ( startPath , vbDirectory )
5
Lag en stund loop, søke hver katalog i "C : \\ " inntil "Temp " katalogen er funnet, og kaller de " getSubDirectories " sub prosedyre for å få alle underkataloger funnet i " Temp " katalogen : en
Mens dirFound = False
p Hvis myname < > " . " Og myname < > ".." Deretter
p Hvis ( GetAttr ( startPath & myname ) Og vbDirectory ) = vbDirectory Deretter
p Hvis myname = "Temp " Da
dirFound = sant
Ring getSubDirectories ( startPath & myname & " \\" )
End If
End If
End If
p Hvis ( dirFound = False ) Så
myname = Dir
End If
Loop
End Sub
6
Kopier og lim inn følgende kode for å opprette " getSubDirectories "sub prosedyre og vise alle under kataloger som finnes i " Temp "katalog med Immediate -vinduet:
Private sub getSubDirectories ( startPath As String )
Dim myname As String
< p > myname = Dir ( startPath , vbDirectory )
Mens myname < > " "
p Hvis myname < > " . " Og myname < > ".." Deretter
p Hvis ( GetAttr ( startPath & myname ) Og vbDirectory ) = vbDirectory Deretter
Debug.Print myname
End If
End If
myname = Dir
Loop
End Sub
7
Trykk " Ctrl" og " G " for å vise det gjeldende vinduet . Klikk i " findDirectories " og trykk " F5 " for å kjøre programmet .