VBA DIR-funksjon - Hvordan bruker jeg Excel VBA DIR-funksjon?

Innholdsfortegnelse

Excel VBA DIR-funksjon

VBA DIR- funksjon er også kjent som katalogfunksjonen, dette er en innebygd funksjon i VBA som brukes til å gi oss filnavnet til en gitt fil eller en mappe, men vi må oppgi banen til filen, utgangen returneres av denne funksjonen er streng da den returnerer navnet på filen, det er to argumenter for denne funksjonen som er stienavnet og attributtene.

DIR-funksjon returnerer det aller første filnavnet i den angitte mappebanen. For eksempel, hvis du har et mappenavn som heter 2019 og i den mappen, i D-stasjonen din, hvis du utmerker filen med navnet "2019 Sales", kan du få tilgang til denne filen ved å bruke DIR-funksjonen.

“VBA DIR” -funksjonen er veldig nyttig for å få navnet på filen ved å bruke sti-mappen.

Syntaks

Denne funksjonen har to valgfrie argumenter.

  • (Banenavn): Som navnet sier, hva banen for å få tilgang til filen er. Dette kan også være navnet på filen, mappenavnet eller katalogen. Hvis en bane ikke er tildelt, returnerer jeg en tom strengverdi, dvs. “
  • (Attributter): Dette er også et valgfritt argument, og du kan ikke bruke dette veldig ofte i koding. Du kan spesifisere attributtet til filen i (Path Name), og DIR-funksjonen ser bare etter disse filene.

For eksempel: Hvis du bare vil ha tilgang til skjulte filer, hvis du bare vil ha tilgang til skrivebeskyttede filer osv. … kan vi spesifisere i dette argumentet. Nedenfor er attributtene vi kan bruke.

Eksempler på bruk av VBA DIR-funksjon

Eksempel nr. 1 - Få tilgang til filnavnet ved hjelp av DIR-funksjonen

Jeg vil forklare deg det enkle eksemplet på å få tilgang til filnavnet ved hjelp av DIR-funksjonen. Følg trinnene nedenfor.

Trinn 1: Opprett et makronavn.

Trinn 2: Definer variabelen som streng .

Kode:

Sub Dir_Example1 () Dim MyFile Som String End Sub

Trinn 3: Nå, for denne variabelen, tildeler vi verdi ved hjelp av DIR-funksjonen .

Kode:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir (End Sub

Trinn 4: Kopier og lim inn filmappestien på datamaskinen din. Nevn stienavnet i dobbelt anførselstegn.

Kode:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: VBA Template End Sub

Trinn 5: Jeg har nevnt banen til mappen, nå må vi også nevne filnavnet og dets utvidelse. For å gjøre dette første vi trenger å gjøre er at vi må sette et tilbakeslag etter banen ()

Etter å ha angitt tilbakeslag, må vi angi hele filnavnet .

Kode:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: VBA Template VBA Dir Excel Template.xlsm") End Sub

Trinn 6: Vis verdien av variabelen i meldingsboksen.

Kode:

Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: VBA Template VBA Dir Excel Template.xlsm") MsgBox MyFile End Sub

Kjør nå koden og se hva resultatet av meldingsboksen er.

Så DIR-funksjonen returnerte filnavnet med filtypen.

Eksempel 2 - Åpne fil ved hjelp av DIR-funksjonen

Nå hvordan åpner vi filen? Denne funksjonen kan returnere filnavnet, men å åpne den filen er litt annerledes. Følg trinnene nedenfor for å åpne filen.

Trinn 1: Lag to variabler som streng .

Kode:

Under Dir_eksempel2 () Dim mappnavn som streng Dim filnavn som streng slutt sub

Trinn 2: Nå, for Mappe variabel, tilordner mappebanen.

Kode:

Sub Dir_Example2 () Dim mappnavn som streng Dim filnavn som streng mappnavn = "E: VBA mal " Slutt sub

Trinn 3: Nå, for FileName-variabelen, må vi få filnavnet ved hjelp av DIR-funksjonen .

Kode:

Underdir_eksempel2 () Dim mappnavn som streng Dim filnavn som streng mappnavn = "E: VBA-mal " Filnavn = Dir (slutt sub

Trinn 4: Nå, for Path Name, har vi allerede tildelt en bane til variabelen FolderPath, slik at vi direkte kan levere variabelen her.

Kode:

Underdir_eksempel2 () Dim mappnavn som streng Dim filnavn som streng mappnavn = "E: VBA-mal " Filnavn = Dir (mappnavn slutt sub

Trinn 5: Nå må vi oppgi filnavnet. Ved å bruke bokstavsymbolet (&) tilordner du filnavnet.

Kode:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") End Sub

Step 6: Now use the WORKBOOKS.OPEN method.

Code:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open End Sub

Step 7: File Name is a combination of FolderPath & FileName. So combine these two.

Code:

Sub Dir_Example2() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open FolderName & FileName End Sub

Now run this code. It will open the mentioned file name.

Example #3 - Multiple Open Workbooks using DIR Function

Actually, we can access all the workbooks in the folder. In order to access each and every file, we cannot mention all the file names directly, but we can use the wildcard character to refer to the file.

The asterisk (*) is one of those wildcard characters. It identifies any number of characters. For example, if you want to access all the macro files in the folder, you can use the asterisk as the wildcard i.e., “*.xlsm*.”

Here * will match any file name with the extension of the file is equal to “xlsm.”

Code:

Sub Dir_Example3() Dim FolderName As String Dim FileName As String FolderName = "E:VBA Template " FileName = Dir(FolderName & "*.xlsm*") Do While FileName "" Workbooks.Open FolderName & FileName FileName = Dir() Loop End Sub

Now the above code will open all the files in the folder path.

FileName = Dir() the reason why I have used this line because, in order to access the next file in the folder, we have to make the existing file name to nil. The moment we make the existing file name to nil when the loop runs for the second time, it will take the next file in the folder.

Example #4 - Get all the File Names in the Folder

Suppose if you want the list of all the file names in the folder, we can also do this by using attributes.

Code:

Underdir_eksempel4 () Dim filnavn som streng Filnavn = Dir ("E: VBA-mal ", vbDirectory) Gjør mens filnavn "" Feilsøk. Skriv ut filnavn Filnavn = Dir () Loop End Sub

Gjør det umiddelbare vinduet synlig ved å trykke Ctrl + G.

Kjør nå koden. Vi får alle filnavnene i det umiddelbare vinduet.

Interessante artikler...