Excel VBA DIR-funksjon

Dir er en av funksjonene som er tilgjengelige i VBA. Dir-funksjonen er for å henvise kataloger i VBA-kode.
Funksjonen som returnerer filen eller katalognavnet som samsvarer med det gitte attributtet eller strengen, returnerer ellers den første filen eller mappen. Med enkle ord, hvis vi har en mappe ABC og inne i ABC er det en fil XYZ så kan vi få tilgang til XYZ-fil ved å bruke DIR-funksjon i VBA.

Formel for DIR-funksjon i Excel VBA

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

Den har to deler banenavn og attributter.

  • Stienavn: Ved navnet kan alle forstå at det er banen til filen der filen faktisk eksisterer. Hvis vi ikke legger inn noen bane i banenavn, vil den returnere en tom streng.
  • Attributt: Det er et valgfritt argument, vi bruker ikke mye av dette. Vi kan bruke dette når vi vil åpne filen med attributtene nedenfor, da VBA ser etter disse filene.
vbArchiveSpesifiserer arkiv- eller sikkerhetskopifiler.
vbNormalNormal (standard) eller ingen attributter.
vbReadOnlyskrivebeskyttede filer
vbSystemSystemfiler
vbVolumevolumetikett; Hvis du bruker noe annet attributt med dette, ignoreres volumetiketten.
vbDirectoryKataloger eller mapper.
vbHiddenskjulte filer
vbAliasFilnavnet er et alias

Hvordan bruke DIR-funksjon i Excel VBA?

Nedenfor er de forskjellige eksemplene du kan bruke DIR-funksjonen i Excel ved å bruke VBA-kode.

Du kan laste ned denne VBA DIR Excel-malen her - VBA DIR Excel-mal

VBA DIR-funksjon - eksempel # 1

I dette eksemplet vil vi se hvordan du får tilgang til et filnavn ved å bruke DIR-funksjonen i VBA.

Trinn 1: Gå til kategorien Utviklere og klikk på Visual Basic

Trinn 2: Åpne en modul fra Sett inn menyalternativet som vist nedenfor.

Trinn 3: For å starte en hvilken som helst makro, må vi først gi et navn til makroen med nøkkelordet 'sub' som nedenfor.

Kode:

 Sub myexample1 () Slutt Sub 

Husk at vi skriver koden vår i “Module1” når vi legger inn “sub myexample ()”, automatisk vises “End sub”.

Trinn 4: Definer en streng ved å bruke søkeordet " Dim " som refererer til dimensjon. I skjermbildet nedenfor er "mystring" strengnavnet.

Kode:

 Sub myexample1 () Dim mystring As String End Sub 

Husk når du definerer navnene på datatyper eller programnavn skal det ikke være noe mellomrom mellom to ord. “Mystring” ingen mellomrom mellom “min” og “streng”.

Filen er tilgjengelig i eksempelmappen som er tilgjengelig på skrivebordet, og filnavnet er “KT tracker mine”.

C: \ Users \ cba_13 \ Desktop \ Sample \

Trinn 5: Nå må vi lagre filnavnet i "mystring" ved å bruke Dir-funksjonen.

Kode:

 Sub myexample1 () Dim mystring As String mystring = Dir ("C: \ Brukere \ cba_13 \ Desktop \ Sample \") Slutt Sub 

I skjermbildet ovenfor i Dir-funksjonen har jeg gitt filstien uten filnavn. Siden det bare er én fil, vil den returnere filnavnet.

Trinn 6: Nå med ovennevnte trinn, vil filnavnet lagres i strengen "mystring". For å vise filnavnet, må vi vise det gjennom en meldingsboks. Opprett en meldingsboks.

Kode:

 Sub myexample1 () Dim mystring As String mystring = Dir ("C: \ Brukere \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) Slutt Sub 

Vi ga instruksjonen om å vise dataene i "mystring" gjennom meldingsboksen, ettersom "mystring" har filnavn vil den vise filnavnet gjennom meldingsboksen.

Trinn 7: Kjør nå koden ved å klikke på Spill-knappen eller ved å trykke på F5-tasten.

VBA DIR-funksjon - eksempel # 2

I dette eksemplet vil vi se hvordan du åpner en fil ved å bruke DIR-funksjonen i Excel VBA.

Trinn 1: Åpne VBA-kodeskjermen og begynn med å gi programnavnet som “eksempel2” eller hvilket som helst navn du ønsker deg.

Kode:

 Sub eksempel2 () Slutt Sub 

Trinn 2: Definer to strenger med navnene “Mappenavn” og “Filnavn”.

Kode:

 Undereksempel2 () Dim mappenavn som streng Dim filnavn som streng slutt sub 

Trinn 3: Tildel nå mappebanen til mappenavnet.

Kode:

 Undereksempel2 () Dim mappenavn som streng Dim filnavn som streng mappenavn = "C: \ Brukere \ cba_13 \ Desktop \ Sample \" Slutt sub 

Trinn 4: Tilordne filen til “filnavn” ved å bruke Dir-funksjonen. Her brukte vi variablen “Mappenavn” fordi den har mappebanen. Ved hjelp av ampersand la vi filnavnet til banen.

Kode:

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

Nå returnerer Dir-funksjonen filnavnet, og den vil lagres i variabelen "filnavn".

Trinn 5: I forrige eksempel brukte vi meldingsboksen for å se resultatene. Men i dette vil vi åpne filen, så vi bruker kommandoen “workbooks.open”.

Kode:

 Undereksempel2 () Dim mappenavn som streng Dim filnavn Som streng mappenavn = "C: \ Brukere \ cba_13 \ Desktop \ Eksempel \" Filnavn = Dir (mappenavn & "KT Tracker mine.xlsx") Arbeidsbøker. Åpne mappenavn & filnavn Slutt sub 

Trinn 6: Kjør koden ovenfor, den vil åpne filen som er tilgjengelig i mappen "C: \ Brukere \ cba_13 \ Desktop \ Sample \" med filnavnet "KT Tracker mine".

VBA DIR-funksjon - eksempel # 3

Nå får vi se programmet for å vite om en mappe er tilgjengelig eller ikke. Jeg har mappen “Data” som vist nedenfor.

Vi må sjekke med hjelp av Dir-funksjonen om “Data” -mappen er tilgjengelig i banen C: \ Users \ cba_13 \ Desktop \ Sample \.

Trinn 1: Lag et programnavn og definer to strenger med navnene FD og FD1.

Kode:

 Subeksempel3 () Dim Fd As String Dim Fd1 Som String End Sub 

Trinn 2: Tilordne mappebanen til variabelen “Fd”.

Kode:

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brukere \ cba_13 \ Desktop \ Sample \ Data" Slutt Sub 

Trinn 3: Nå bruker du funksjonen for å returnere mappenavnet som vist nedenfor.

Kode:

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brukere \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Slutt Sub 

Dir-funksjonsresultatet skal være mappenavn, og det vil lagres i Fd1-strengvariabelen. Hvis "Data" -mappen ikke er tilgjengelig i den respektive mappen, vil den ikke returnere noen streng.

Trinn 4: Nå må vi sjekke om Fd1 har en "Data" -mappe eller ikke. Bruk IF-betingelse for å sjekke om Fd1 har strengen “Data” eller ikke. Hvis den er tilgjengelig, skriv deretter uttalelsen som “Eksisterer”.

Kode:

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brukere \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Hvis Fd1 = "Data" Så MsgBox ("Exits") Slutt Under 

Trinn 5: I tilfelle hvis Fd1 ikke stemmer overens med "Data" -mappen, vil utskriften "Ikke eksisterer" skrives ut i en annen tilstand.

Kode:

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brukere \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Hvis Fd1 = "Data" Så MsgBox ("Exits") Ellers MsgBox ("Not Exits") Slutt sub 

Trinn 6: Avslutt “If” -sløyfen som vist på skjermbildet nedenfor.

Kode:

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brukere \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Hvis Fd1 = "Data" Så MsgBox ("Exits") Ellers MsgBox ("Ikke går ut") End If End Sub 

Trinn 7: Kjør koden ved å trykke på F5-tasten eller ved å klikke på Spill-knappen for å sjekke om mappen er tilgjengelig eller ikke. Hvis mappen “Data” er tilgjengelig i den mappen, vil den returnere meldingsboksen med meldingen “Eksisterer” som nedenfor.

Trinn 8: Endre navnet på mappen som Data1.

 Subeksempel3 () Dim Fd Som streng Dim Fd1 Som streng Fd = "C: \ Brukere \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Hvis Fd1 = "Data" Så MsgBox ("Exits") Ellers MsgBox ("Ikke går ut") End If End Sub 

Trinn 9: Kjør koden igjen. Nå er resultatet “Ikke eksisterer” som vist nedenfor.

Ting å huske

  • Argumentene i Dir-funksjonen er valgfrie.
  • Hvis vi vil ha skjulte filer, mapper eller annen type kataloger, så nevn kravet ditt i det andre argumentet.
  • Bruk “\” på slutten av mappenavnet mens du gir Dir-funksjonen for å gå inn i mappen.
  • Hvis vi vil ringe eller åpne flere filer, kan vi bruke jokertegnet "*" eller "?".

Anbefalte artikler

Dette er en guide til VBA DIR-funksjon. Her diskuterer vi hvordan du bruker DIR-funksjon i Excel VBA sammen med noen praktiske eksempler og nedlastbar Excel-mal. Du kan også gå gjennom andre foreslåtte artikler -

  1. VBA arbeidsbok
  2. INDIREKTE funksjon i Excel
  3. VBA-telling
  4. Excel XOR-funksjon

Kategori: