Excel VBA DIR-funktion

Dir er en af ​​de tilgængelige funktioner i VBA. Dir-funktion er til at henvise kataloger i VBA-kode.
Den funktion, der returnerer filen eller katalognavnet, der matcher den givne attribut eller streng, ellers returnerer den første fil eller mappe. Med enkle ord, hvis vi har en mappe ABC og inde i ABC er der en fil XYZ, så kan vi få adgang til XYZ-fil ved hjælp af DIR-funktion i VBA.

Formel til DIR-funktion i Excel VBA

DIR-funktion har følgende syntaks i Excel VBA:

Det har to dele stienavn og attributter.

  • Stienavn: Ved navn kan alle forstå, at det er stien til filen, hvor filen faktisk findes. Hvis vi ikke indtaster nogen sti i stienavn, returnerer den en tom streng.
  • Attribut: Det er et valgfrit argument, vi bruger ikke meget af dette. Vi kan muligvis bruge dette, når vi vil åbne filen med nedenstående attributter, så VBA ser efter disse filer.
vbArchiveSpecificerer arkiver eller sikkerhedskopieringsfiler.
vbNormalNormal (standard) eller ingen attributter.
vbReadOnlyskrivebeskyttede filer
vbSystemSystemfiler
vbVolumelydstyrke etiket; Hvis du bruger en anden attribut med denne, ignoreres lydstyrkeetiketten.
vbDirectoryKataloger eller mapper.
vbHiddenskjulte filer
vbAliasFilnavnet er et alias

Hvordan bruges DIR-funktion i Excel VBA?

Nedenfor er de forskellige eksempler til brug af DIR-funktion i Excel ved hjælp af VBA-kode.

Du kan downloade denne VBA DIR Excel-skabelon her - VBA DIR Excel-skabelon

VBA DIR-funktion - eksempel # 1

I dette eksempel vil vi se, hvordan man får adgang til et filnavn ved hjælp af DIR-funktionen i VBA.

Trin 1: Gå til fanen Udviklere og klik på Visual Basic

Trin 2: Åbn et modul fra menuen Indsæt som vist nedenfor.

Trin 3: For at starte en hvilken som helst makro skal vi først give et navn til makroen med nøgleordet 'sub' som nedenfor.

Kode:

 Sub myexample1 () End Sub 

Husk, at vi skriver vores kode i "Module1", når vi indtaster "sub myexample ()", automatisk vises "End sub".

Trin 4: Definer en streng ved hjælp af nøgleordet " Dim ", der henviser til dimension. I nedenstående skærmbillede "mystring" er strengnavnet.

Kode:

 Sub myexample1 () Dim mystring Som streng End Sub 

Husk, hver gang du definerer navnene på datatyper eller programnavne, skal der ikke være noget mellemrum mellem to ord. “Mystring” intet mellemrum mellem “min” og “streng”.

Filen er tilgængelig i en eksempelmappe, der er tilgængelig på skrivebordet, og filnavnet er “KT tracker mine”.

C: \ Users \ cba_13 \ Desktop \ Sample \

Trin 5: Nu skal vi gemme filnavnet i "mystring" vha. Dir-funktionen.

Kode:

 Sub myexample1 () Dim mystring Som streng mystring = Dir ("C: \ Brugere \ cba_13 \ Desktop \ Sample \") Slut Sub 

I ovenstående skærmbillede i Dir-funktionen har jeg givet filstien eksklusive filnavnet. Da der kun er en fil, returnerer den filnavnet.

Trin 6: Nu med ovenstående trin filnavnet gemt i strengen "mystring". For at få vist filnavnet skal vi vise det gennem en meddelelsesboks. Opret en meddelelsesboks.

Kode:

 Sub myexample1 () Dim mystring Som streng mystring = Dir ("C: \ Brugere \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) End Sub 

Vi gav instruktionen om at vise dataene i “mystring” gennem meddelelsesboksen, da “mystring” har filnavn, det vil vise filnavnet gennem meddelelsesboksen.

Trin 7: Kør nu koden ved at klikke på knappen Afspil eller ved at trykke på F5-tasten.

VBA DIR-funktion - eksempel # 2

I dette eksempel vil vi se, hvordan man åbner en fil ved hjælp af DIR-funktionen i Excel VBA.

Trin 1: Åbn skærmbilledet med VBA-kode og start med at give programnavnet som “eksempel2” eller ethvert navn, du ønsker.

Kode:

 Subeksempel2 () Slut Sub 

Trin 2: Definer to strenge med navnene “Foldername” og “Filename”.

Kode:

 Subeksempel2 () Dim mappenavn som streng Dim filnavn som streng slut sub 

Trin 3: Tildel nu mappestien til mappenavnet.

Kode:

 Undereksempel2 () Dim mappenavn som streng Dim filnavn som streng mappenavn = "C: \ brugere \ cba_13 \ skrivebord \ prøve \" slut sub 

Trin 4: Tildel filen til “filnavnet” vha. Dir-funktionen. Her brugte vi variablen “Mappenavn”, fordi den har mappestien. Ved hjælp af ampersand føjede vi filnavnet til stien.

Kode:

 Undereksempel2 () Dim mappenavn som streng Dim filnavn som streng mappenavn = "C: \ Brugere \ cba_13 \ Desktop \ Sample \" Filename = Dir (Mappenavn & "KT Tracker mine.xlsx") Slut Sub 

Nu returnerer Dir-funktionen filnavnet, og den gemmes i variablen "filnavn".

Trin 5: I det forrige eksempel brugte vi meddelelsesfeltet til at se resultaterne. Men i dette ønsker vi at åbne filen, så vi bruger kommandoen “workbooks.open”.

Kode:

 Undereksempel2 () Dim mappenavn som streng Dim filnavn som streng mappenavn = "C: \ Brugere \ cba_13 \ Desktop \ Eksempel \" Filnavn = Dir (mappenavn & "KT Tracker mine.xlsx") Arbejdsbøger. Åbn mappenavn & filnavne slut 

Trin 6: Kør ovenstående kode, det åbner den tilgængelige fil i mappen "C: \ Brugere \ cba_13 \ Desktop \ Sample \" med filnavnet "KT Tracker mine".

VBA DIR-funktion - eksempel # 3

Nu ser vi programmet for at vide, om en mappe er tilgængelig eller ikke. Jeg har mappen “Data” som vist nedenfor.

Vi er nødt til at kontrollere ved hjælp af Dir-funktionen, om "Data" -mappen er tilgængelig i stien C: \ Brugere \ cba_13 \ Desktop \ Sample \.

Trin 1: Opret et programnavn og definer to strenge med navnene FD og FD1.

Kode:

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng End Sub 

Trin 2: Tildel mappestien til variablen “Fd”.

Kode:

 Undereksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brugere \ cba_13 \ Desktop \ Eksempel \ Data" Slut Sub 

Trin 3: Brug nu funktionen Dir til at returnere mappenavnet som vist nedenfor.

Kode:

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brugere \ cba_13 \ Desktop \ Eksempel \ Data" Fd1 = Dir (Fd, vbDirectory) Slut Sub 

Dir-funktionsresultatet skal være mappenavn, og det gemmes i Fd1-strengvariablen. Hvis mappen “Data” ikke er tilgængelig i den respektive mappe, returnerer den ingen streng.

Trin 4: Nu skal vi kontrollere, om Fd1 har en "Data" -mappe eller ej. Brug IF-betingelse til at kontrollere, om Fd1 har strengen “Data” eller ikke. Hvis den er tilgængelig, skal du udskrive sætningen som "Eksisterer".

Kode:

 Undereksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brugere \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Hvis Fd1 = "Data" Så MsgBox ("afslutter") Ende Sub 

Trin 5: I tilfælde af at Fd1 ikke stemmer overens med "Data" -mappen, udskrives sætningen "Ikke eksisterer" i en anden tilstand.

Kode:

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brugere \ cba_13 \ Desktop \ Eksempel \ Data" Fd1 = Dir (Fd, vbDirectory) Hvis Fd1 = "Data" Så MsgBox ("afslutter") Else MsgBox ("Ikke afslutter") End Sub 

Trin 6: Afslut “If” -løkken som vist på nedenstående skærmbillede.

Kode:

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brugere \ cba_13 \ Desktop \ Eksempel \ Data" Fd1 = Dir (Fd, vbDirectory) Hvis Fd1 = "Data" Så MsgBox ("afslutter") Else MsgBox ("Ikke afslutter") Slutt, hvis slut sub 

Trin 7: Kør koden ved at trykke på F5-tasten eller ved at klikke på knappen Play for at kontrollere, om mappen er tilgængelig eller ikke. Hvis mappen "Data" er tilgængelig i den mappe, returnerer den meddelelsesfeltet med meddelelsen "Eksisterer" som nedenfor.

Trin 8: Skift blot navnet på mappen som Data1.

 Undereksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brugere \ cba_13 \ Desktop \ Eksempel \ Data1" Fd1 = Dir (Fd, vbDirectory) Hvis Fd1 = "Data" Så MsgBox ("afslutter") MsgBox ("Ikke afslutter") Slutt, hvis slut sub 

Trin 9: Kør koden igen. Nu er resultatet “findes ikke” som vist nedenfor.

Ting at huske

  • Argumenterne i Dir-funktionen er valgfri.
  • Hvis vi ønsker skjulte filer, mapper eller anden type mapper, skal du nævne dit krav i det andet argument.
  • Brug “\” i slutningen af ​​mappenavnet, mens du giver Dir-funktionen til at gå ind i mappen.
  • Hvis vi ønsker at ringe til eller åbne flere filer, kan vi bruge wild card-tegnet “*” eller “?”.

Anbefalede artikler

Dette er en guide til VBA DIR-funktion. Her diskuterer vi, hvordan man bruger DIR-funktion i Excel VBA sammen med nogle praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. VBA-arbejdsbog
  2. INDIREKT Funktion i Excel
  3. VBA Count
  4. Excel XOR-funktion

Kategori: