Het vinden van een map en submappen met Visual Basic for Applications ( VBA ) is niet zo ingewikkeld als u misschien denkt . In VBA kunt u de functie " Dir " gebruiken om directory namen te verkrijgen in een pad . Zodra u de map die u zoekt hebt gevonden , kunt u het pad gebruiken om submappen te vinden . Dit proces is handig als u een bestand wilt opslaan in een bepaalde map , maar niet het volledige pad voor het niet hebben . Wat je nodig hebt Microsoft Office Excel Toon Meer Aanwijzingen 1 Lancering Microsoft Office Excel , klikt u op het tabblad " Developer " en klik op " Visual Basic . " Klik op het menu "Invoegen " en klik op "Module " om een nieuwe code -module plaatsen Type 2 het volgende om een nieuwe sub procedure te maken: . Private Sub findDirectories ( ) < br > 3 Voeg de volgende code toe aan de drie variabelen die je zal gebruiken om de directory van belang te vinden te maken: Dim startPath als Koord Dim myname als Koord Dim dirFound zoals Van Boole 4 Definieer het station waarop u wilt zoeken naar een directory of krijgen de eerste directory : startPath = " C : \\ " myname = Dir ( startPath , vbDirectory ) 5 Maak een while loop , zoeken elke map in " C : \\ " tot de " temp " map is gevonden , en bel de " getSubDirectories " sub procedure om alle submappen gevonden in de " temp " map te krijgen : doen terwijl dirFound = False Als myname < > " . " En myname < > " .. " Dan Als ( GetAttr ( startPath & myname ) En vbDirectory ) = vbDirectory Dan Als myname = " Temp " Dan dirFound = True Call getSubDirectories ( startPath & myname & " \\ " ) End Als End Als End Als Als ( dirFound = False ) dan myname = Dir End Als Loop End Sub Kopieer en plak de volgende code om de " getSubDirectories creëren 6 "sub procedure en geven alle submappen gevonden in de " temp " map met behulp van het venster Direct : Private Sub getSubDirectories ( startPath als Koord ) Dim myname als Koord myname = Dir ( startPath , vbDirectory ) op Twitter Doe terwijl myname < > " " Als myname < > " . " En myname < > " .. " Dan Als ( GetAttr ( startPath & myname ) En vbDirectory ) = vbDirectory Debug.Print myname Einde Dan Als End Als myname = Dir Loop End Sub Druk op " Ctrl " 7 en " G " om het venster Direct weer te geven . Klik binnen " findDirectories " en druk op " F5 " om het programma uit te voeren .
|