VBA DIR-funktion - Hvordan bruges Excel VBA DIR-funktion?

Indholdsfortegnelse

Excel VBA DIR-funktion

VBA DIR- funktion er også kendt som biblioteksfunktionen, dette er en indbygget funktion i VBA, der bruges til at give os filnavnet på en given fil eller en mappe, men vi skal angive stien til filen, output returneres af denne funktion er streng, da den returnerer navnet på filen, der er to argumenter for denne funktion, som er stienavnet og attributterne.

DIR-funktionen returnerer det allerførste filnavn i den angivne mappesti. For eksempel i dit D-drev, hvis du har et mappenavn kaldet 2019 og i den mappe, hvis du udmærker filen med navnet “2019 Sales”, så kan du få adgang til denne fil ved hjælp af DIR-funktionen.

“VBA DIR” -funktionen er meget nyttig til at hente navnet på filen ved hjælp af dens sti-mappe.

Syntaks

Denne funktion har to valgfri argumenter.

  • (Stienavn): Som navnet siger, hvad stien til at få adgang til filen er. Dette kan også være navnet på filen, navnet på mappen eller biblioteket. Hvis en sti ikke er tildelt, returnerer jeg en tom strengværdi, dvs. “
  • (Attributter): Dette er også et valgfrit argument, og du kan ikke bruge dette meget ofte til kodning. Du kan specificere filens attribut i (Path Name), og DIR-funktionen ser kun efter disse filer.

For eksempel: Hvis du kun ønsker at få adgang til skjulte filer, hvis du kun vil have adgang til skrivebeskyttede filer osv. … kan vi specificere i dette argument. Nedenfor er de attributter, vi kan bruge.

Eksempler til brug af VBA DIR-funktion

Eksempel # 1 - Adgang til filnavnet ved hjælp af DIR-funktionen

Jeg vil forklare dig det enkle eksempel på at få adgang til filnavnet ved hjælp af DIR-funktionen. Følg nedenstående trin.

Trin 1: Opret et makronavn.

Trin 2: Definer variablen som streng .

Kode:

Sub Dir_Example1 () Dim MyFile Som String End Sub

Trin 3: For denne variabel tildeler vi nu værdi ved hjælp af DIR-funktionen .

Kode:

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

Trin 4: Kopier og indsæt nu filmappens sti på din computer. Nævn stienavnet i dobbelt anførselstegn.

Kode:

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

Trin 5: Jeg har nævnt min sti til mappen, nu skal vi også nævne filnavnet og dets udvidelse. For at gøre denne første ting, vi skal gøre, er vi nødt til at sætte en tilbageslag efter stien ()

Efter at have indtastet tilbageslag, skal vi indtaste det fulde filnavn .

Kode:

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

Trin 6: Vis værdien af ​​variablen i meddelelsesfeltet.

Kode:

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

Kør nu koden og se, hvad resultatet af meddelelsesfeltet er.

Så DIR-funktionen returnerede filnavnet med filtypen.

Eksempel # 2 - Åbn fil ved hjælp af DIR-funktion

Hvordan åbner vi nu filen? Denne funktion kan returnere filnavnet, men det er lidt anderledes at åbne filen. Følg nedenstående trin for at åbne filen.

Trin 1: Opret to variabler som streng .

Kode:

Sub Dir_Example2 () Dim mappens navn som streng Dim filnavn som streng slut sub

Trin 2: Nu, for MappeNavn variabel, tildele mappesti.

Kode:

Underdir_eksempel2 () Dim mappens navn som streng Dim filnavn som streng mappens navn = "E: VBA-skabelon " Afslut sub

Trin 3: Nu, for FileName-variablen, skal vi hente filnavnet ved hjælp af DIR-funktionen .

Kode:

Underdir_eksempel2 () Dim mappens navn som streng Dim filnavn som streng mappens navn = "E: VBA-skabelon " Filnavn = dir (slut sub

Trin 4: Nu har vi allerede for Path Name tildelt en sti til variablen FolderPath, så vi direkte kan levere variablen her.

Kode:

Underdir_eksempel2 () Dim mappens navn som streng Dim filnavn som streng mappens navn = "E: VBA-skabelon " Filnavn = Dir (mappenavns slutunder

Trin 5: Nu skal vi angive filnavnet. Ved at bruge ampersand-symbolet (&) tildeles 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-skabelon", vbDirectory) Gør mens filnavn "" Fejlfinding. Udskriv filnavn Filnavn = Dir () Loop End Sub

Gør det øjeblikkelige vindue synligt ved at trykke på Ctrl + G.

Kør nu koden. Vi får alle filnavne i det umiddelbare vindue.

Interessante artikler...