Excel VBA DIR funkcija

Dir je ena od funkcij, ki so na voljo v VBA. Funkcija Dir je namenjena napotitvi imenikov v kodo VBA.
Funkcija, ki vrne ime datoteke ali imenika, ki se ujema z danim atributom ali nizom, sicer vrne prvo datoteko ali mapo. Z enostavnimi besedami, če imamo mapo ABC in znotraj ABC obstaja datoteka XYZ, lahko do datoteke XYZ dostopamo s funkcijo DIR v VBA.

Formula za funkcijo DIR v Excelu VBA

Funkcija DIR ima v Excelu VBA naslednjo skladnjo:

Ima dva dela Pathname in Attributes.

  • Naziv poti: Po imenu lahko vsakdo razume, da gre za pot datoteke, kjer datoteka dejansko obstaja. Če v ime poti ne vnesemo nobene poti, bo vrnil prazen niz.
  • Atributi: Gre za izbirni argument, tega ne uporabljamo veliko. To lahko uporabimo, kadar želimo datoteko odpreti s spodnjimi atributi, potem VBA poišče te datoteke.
vbArhivDoloči arhive ali varnostne kopije datotek.
vbNormalObičajni (privzeti) ali brez atributov.
vbReadOnlydatoteke samo za branje
vbSystemSistemske datoteke
vbVolumeoznaka glasnosti; Če s tem uporabljate kateri koli drug atribut, se oznaka glasnosti prezre.
vbDirectoryImeniki ali mape.
vbHiddenskrite datoteke
vbAliasIme datoteke je vzdevek

Kako uporabljati funkcijo DIR v Excelu VBA?

Spodaj so različni primeri uporabe funkcije DIR v Excelu z uporabo kode VBA.

Predlogo VBA DIR Excel lahko prenesete tukaj - VBA DIR Excel Predloga

Funkcija VBA DIR - primer # 1

V tem primeru bomo videli, kako dostopati do imena datoteke s funkcijo DIR v VBA.

1. korak: Pojdite na zavihek Developers in kliknite na Visual Basic

2. korak: Odprite modul v meniju Vstavi, kot je prikazano spodaj.

Korak 3: Če želite zagnati katerikoli makro, moramo najprej dati makro ime s ključno besedo 'pod', kot je spodaj.

Koda:

 Sub myexample1 () End Sub 

Ne pozabite, da pišemo kodo v "Module1", ko vnesemo "pod myexample ()", se samodejno prikaže "End sub".

4. korak: Določite niz z uporabo ključne besede " Dim ", ki se nanaša na dimenzijo. Na spodnjem posnetku zaslona je ime niza "mystring".

Koda:

 Sub myexample1 () Zatemnjena nit kot As String End Sub 

Ne pozabite, da vsakič, ko določite imena vrst podatkov ali imen programov, med dvema besedama ne sme biti presledka. "Mystring" ni razmika med "mojim" in "nizom".

Datoteka je na voljo v vzorčni mapi, ki je na voljo na namizju, ime datoteke pa je "KT tracker mine".

C: \ Uporabniki \ cba_13 \ Namizje \ Vzorec \

Korak 5: Zdaj moramo ime datoteke shraniti v "mystring" s funkcijo Dir.

Koda:

 Sub myexample1 () Dim mystring as String mystring = Dir ("C: \ Uporabniki \ cba_13 \ Desktop \ Sample \") Konec pod 

Na zgornjem posnetku zaslona v funkciji Dir sem dal pot do datoteke brez imena datoteke. Ker obstaja le ena datoteka, bo vrnila ime datoteke.

6. korak: Z zgornjim korakom ime datoteke, shranjeno v nizu "mystring". Če želite prikazati ime datoteke, ga moramo prikazati skozi polje s sporočili. Ustvari polje s sporočilom.

Koda:

 Pod myexample1 () Dim mystring as String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) End Sub 

Dali smo navodilo za prikaz podatkov v "mystring" skozi sporočilo, ker "mystring" ima ime datoteke, bo prikazano ime datoteke skozi polje s sporočilom.

7. korak: Zdaj zaženite kodo s klikom na gumb Play ali s pritiskom na tipko F5.

Funkcija VBA DIR - primer # 2

V tem primeru bomo videli, kako odpreti datoteko s funkcijo DIR v Excelu VBA.

1. korak: Odprite zaslon s kodo VBA in začnite tako, da ime programa navedete kot "example2" ali katero koli ime, ki ga želite.

Koda:

 Sub example2 () Konec Sub 

2. korak: Določite dva niza z imeni "Ime mape" in "Ime datoteke".

Koda:

 Pod-primer2 () Dim ime mape kot niz Dim ime datoteke kot niz vrha Sub 

3. korak: Zdaj dodelite pot mapi ime mape.

Koda:

 Pod-primer2 () Dim ime mape kot niz Dim Ime datoteke kot ime niza string = "C: \ Uporabniki \ cba_13 \ Desktop \ Vzorec \" Konec pod 

4. korak: Datoteko dodelite »ime datoteke« s funkcijo Dir. Tu smo uporabili spremenljivko »Foldername«, ker ima pot do mape. S pomočjo ampersand smo poti dodali ime datoteke.

Koda:

 Podpomenka2 () Ime mape Dim kot niz Stima Ime datoteke kot string ime datoteke = "C: \ Uporabniki \ cba_13 \ Desktop \ Sample \" Ime datoteke = Dir (Ime mape & "KT Tracker mine.xlsx") Konec Pod 

Zdaj funkcija Dir vrne ime datoteke in shrani se v spremenljivko "ime datoteke".

5. korak: V prejšnjem primeru smo za prikaz rezultatov uporabili polje s sporočili. Toda v tem primeru želimo odpreti datoteko, zato bomo uporabili ukaz "workbooks.open".

Koda:

 Podpomenka2 () Ime mape Dim kot niz Stima Ime datoteke kot vrsticno ime mape = "C: \ Uporabniki \ cba_13 \ Desktop \ Sample \" Ime datoteke = Dir (Ime mape & "KT Tracker mine.xlsx") Delovni zvezki.Odpri imenik in ime datoteke Konec pod 

6. korak: Zaženite zgornjo kodo, bo odprla datoteko, ki je na voljo v mapi "C: \ Uporabniki \ cba_13 \ Desktop \ Sample \" z imenom datoteke "KT Tracker mine".

Funkcija VBA DIR - primer # 3

Zdaj bomo videli program, da bomo vedeli, ali je na voljo mapa. Imam mapo »Podatki«, kot je prikazano spodaj.

S pomočjo funkcije Dir moramo preveriti, ali je na poti C: \ Uporabniki \ cba_13 \ Desktop \ Sample \ na voljo mapa "Data".

1. korak: Ustvarite ime programa in določite dva niza z imeni FD in FD1.

Koda:

 Sub example3 () Dim Fd kot niz Dim Fd1 As String End Sub 

2. korak: Pot mape dodelite spremenljivki "Fd".

Koda:

 Pod-primer3 () Dim Fd kot niz Dim Fd1 Kot niz Fd = "C: \ Uporabniki \ cba_13 \ Desktop \ Sample \ Data" Konec pod 

3. korak: Zdaj uporabite funkcijo Dir, da vrnete ime mape, kot je prikazano spodaj.

Koda:

 Pod-primer3 () Dim Fd kot niz Dim Fd1 kot niz Fd = "C: \ Uporabniki \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Konec pod 

Rezultat funkcije Dir mora biti ime mape in shranjen bo v spremenljivki niza Fd1. Če mapa »Podatki« ni na voljo v ustrezni mapi, ne vrne nobenega niza.

4. korak: Zdaj moramo preveriti, ali ima Fd1 mapo »Podatki« ali ne. Uporabite pogoj IF in preverite, ali ima Fd1 niz "Podatki" ali ne. Če je na voljo, izjavo natisnite kot »Obstaja«.

Koda:

 Podprimer3 () Dim Fd kot niz Dim Fd1 Kot niz Fd = "C: \ Uporabniki \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Če Fd1 = "Podatki", potem MsgBox ("Izhodi") konec Pod 

5. korak: V primeru, da se Fd1 ne ujema z mapo »Podatki«, natisnite izjavo »Ne obstaja« v drugem stanju.

Koda:

 Pod-primer3 () Dim Fd kot niz Dim Fd1 kot niz Fd = "C: \ Uporabniki \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Če je Fd1 = "Podatki", potem MsgBox ("Izhodi") ostane MsgBox ("Ne izstopi") End Sub 

6. korak: Končajte zanko »Če«, kot je prikazano na spodnjem posnetku zaslona.

Koda:

 Pod-primer3 () Dim Fd kot niz Dim Fd1 kot niz Fd = "C: \ Uporabniki \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Če je Fd1 = "Podatki", potem MsgBox ("Izhodi") ostane MsgBox ("Ne izstopi") End If End Sub 

7. korak: Zaženite kodo s pritiskom na tipko F5 ali s klikom na gumb Predvajaj in preverite, ali je mapa na voljo ali ne. Če je v tej mapi na voljo mapa »Podatki«, bo vrnila polje s sporočilom »Obstaja«, kot je spodaj.

8. korak: Samo ime mape spremenite v Data1.

 Podprimer3 () Dim Fd kot niz Dim Fd1 Kot niz Fd = "C: \ Uporabniki \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Če Fd1 = "Podatki", potem MsgBox ("Izhodi") ostane MsgBox ("Ne izstopi") End If End Sub 

9. korak: Ponovno zaženite kodo. Zdaj je rezultat "Ne obstaja", kot je prikazano spodaj.

Stvari, ki jih je treba zapomniti

  • Argumenti v funkciji Dir so izbirni.
  • Če želimo skrite datoteke, mape ali različne vrste imenikov, potem v drugem argumentu omenite svojo zahtevo.
  • Uporabite "\" na koncu imena mape, medtem ko podate funkcijo Dir, da greste v mapo.
  • Če želimo poklicati ali odpreti več datotek, lahko uporabimo znak "*" ali "?"

Priporočeni članki

To je vodnik za funkcijo VBA DIR. Tukaj smo razpravljali o uporabi funkcije DIR v Excelu VBA in nekaj praktičnih primerov in naložljive predloge Excela. Ogledate si lahko tudi druge naše predlagane članke -

  1. Delovni zvezek VBA
  2. POSREDNA funkcija v Excelu
  3. Število VBA
  4. Excel XOR funkcija

Kategorija: