Excel VBA DIR funkcija

Dir je jedna od funkcija dostupnih u VBA. Dir funkcija je za upućivanje direktorija u VBA kodu.
Funkcija koja vraća datoteku ili imenik koji se podudaraju s danim atributom ili nizom, u protivnom vraća prvu datoteku ili mapu. Jednostavnim riječima, ako imamo mapu ABC, a unutar ABC postoji datoteka XYZ, tada možemo pristupiti XYZ datoteci pomoću DIR funkcije u VBA.

Formula za DIR funkciju u Excelu VBA

DIR funkcija ima sljedeću sintaksu u Excelu VBA:

Ima dva dijela Pathname i Attributes.

  • Naziv puta : Nazivno, svi mogu razumjeti da je to put do datoteke gdje datoteka zapravo postoji. Ako u ime puta ne unesemo nijedan put, vratit će se prazan niz.
  • Atributi: To je neobavezan argument, ne koristimo mnogo od toga. To možemo koristiti kada želimo otvoriti datoteku s donjim atributima, a onda VBA traži te datoteke.
vbArchiveOdređuje Arhive ili sigurnosne kopije datoteka.
vbNormalNormalni (zadani) ili bez atributa.
vbReadOnlydatoteke samo za čitanje
vbSystemSistemske datoteke
vbVolumeoznaka volumena; Ako tada upotrebljavate bilo koji drugi atribut s ovim, oznaka volumena se zanemaruje.
vbDirectoryKatalozi ili mape.
vbHiddenskrivene datoteke
vbAliasNaziv datoteke je pseudonim

Kako se koristi DIR funkcija u Excelu VBA?

Slijedi nekoliko primjera za korištenje funkcije DIR u Excelu pomoću VBA koda.

Ovdje možete preuzeti ovaj VBA DIR Excel predložak - VBA DIR Excel predložak

VBA DIR funkcija - Primjer # 1

U ovom ćemo primjeru vidjeti kako pristupiti nazivu datoteke pomoću funkcije DIR u VBA.

Korak 1: Idite na karticu Developers i kliknite na Visual Basic

Korak 2: Otvorite modul iz opcije Umetanje kao što je prikazano u nastavku.

Korak 3: Da biste pokrenuli bilo koji makronaredba, prvo moramo dati ime makronaredbi s ključnom riječi "pod" kao što je dolje navedeno.

Kodirati:

 Sub myexample1 () Kraj Sub 

Imajte na umu da pišemo svoj kôd u „Module1“ kada unesemo „pod myexample ()“, automatski će se pojaviti „Kraj pod“.

Korak 4: Definirajte niz korištenjem ključne riječi " Dim " koja se odnosi na dimenziju. Na slici ispod slike "mystring" je naziv niza.

Kodirati:

 Sub myexample1 () Dim mystring kao String End Sub 

Zapamtite kad god definirate imena tipova podataka ili imena programa ne smije biti razmaka između dvije riječi. "Mystring" nema razmaka između "mog" i "niza".

Datoteka je dostupna u uzorku mape koja je dostupna na radnoj površini, a naziv datoteke je "KT tracker mine".

C: \ Users \ cba_13 \ Desktop \ Sample \

Korak 5: Sada moramo spremiti naziv datoteke u "mystring" pomoću funkcije Dir.

Kodirati:

 Sub myexample1 () Dim mystring kao string stringst = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") Kraj Sub 

Na gornjoj snimci zaslona u Dir funkciji dao sam put datoteke isključujući naziv datoteke. Kako postoji samo jedna datoteka, ona će vratiti naziv datoteke.

Korak 6: Sada s gornjim korakom naziv datoteke pohranjen u nizu "mystring". Za prikaz naziva datoteke trebamo ga prikazati kroz okvir za poruke. Napravite okvir za poruku.

Kodirati:

 Pod myexample1 () Dim mystring kao string stringst = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) End Sub 

Dali smo upute za prikaz podataka u "mystring" kroz okvir za poruke, jer "mystring" ima naziv datoteke, a kroz datoteku će se pojaviti naziv datoteke.

Korak 7: Sada pokrenite kod klikom na gumb Play ili pritiskom na tipku F5.

VBA DIR funkcija - primjer br. 2

U ovom ćemo primjeru vidjeti kako otvoriti datoteku pomoću funkcije DIR u Excelu VBA.

Korak 1: Otvorite zaslon s kodom VBA i započnite s davanjem programa nazivu "primjer2" ili bilo kojem imenu koje želite.

Kodirati:

 Sub example2 () Kraj Sub 

Korak 2: Definirajte dva niza s nazivima "Ime mape" i "Naziv datoteke".

Kodirati:

 Sub example2 () Dim Foldername As String Dim Ime datoteke kao String End Sub 

Korak 3: Sada dodijelite putanju nazivu mape.

Kodirati:

 Sub example2 () Dim Foldername As String Dim Ime datoteke kao String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" End Sub 

Korak 4: Dodijelite datoteci "naziv datoteke" pomoću funkcije Dir. Ovdje smo koristili varijablu "Foldername" jer ima put do mape. Uz pomoć ampersand, stazi smo dodali ime datoteke.

Kodirati:

 Sub example2 () Dim Foldername As String Dim Ime datoteke kao String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Naziv datoteke = Dir (Ime mape & "KT Tracker mine.xlsx") Kraj Sub 

Sada funkcija Dir vraća naziv datoteke i ona će se pohraniti u varijablu "filename".

Korak 5: U prethodnom primjeru koristili smo okvir za poruke da bismo vidjeli rezultate. Ali u ovom slučaju želimo otvoriti datoteku, pa ćemo upotrijebiti naredbu "workbooks.open".

Kodirati:

 Sub example2 () Dim Foldername As String Dim Ime datoteke kao String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Naziv datoteke = Dir (Ime mape & "KT Tracker mine.xlsx") Radne knjige.Otvorite ime mape i naziv datoteke Kraj Sub 

Korak 6: Pokrenite gornji kôd otvorit će datoteku dostupnu u mapi "C: \ Users \ cba_13 \ Desktop \ Sample \" s nazivom datoteke "KT Tracker mine".

VBA DIR funkcija - Primjer # 3

Sada ćemo vidjeti program znati je li mapa dostupna ili ne. Imam mapu "Podaci" kao što je prikazano u nastavku.

Pomoću funkcije Dir moramo provjeriti je li mapa "Podaci" dostupna na putu C: \ Users \ cba_13 \ Desktop \ Sample \.

Korak 1: Stvorite naziv programa i definirajte dva niza s imenima FD i FD1.

Kodirati:

 Sub example3 () Dim Fd Kao string Dim Fd1 Kao String End Sub 

Korak 2: Dodijelite putanji mapi varijabli "Fd".

Kodirati:

 Sub example3 () Dim Fd Kao string Dim Fd1 As String Fd = "C: \ Korisnici \ cba_13 \ Desktop \ Sample \ Podaci" Kraj Sub 

Korak 3: Sada koristite funkciju Dir da biste vratili naziv mape kao što je prikazano u nastavku.

Kodirati:

 Sub example3 () Dim Fd kao string Dim Fd1 Kao string Fd = "C: \ Korisnici \ cba_13 \ Desktop \ Sample \ Podaci" Fd1 = Dir (Fd, vbDirectory) Kraj Sub 

Rezultat funkcije Dir trebao bi biti naziv mape i ona će se pohraniti u Fd1 varijablu niza. Ako mapa "Podaci" nije dostupna u odgovarajućoj mapi, neće vratiti nijedan niz.

Korak 4: Sada moramo provjeriti ima li Fd1 mapu "Podaci" ili ne. Koristite IF uvjet da provjerite ima li Fd1 niz "Data" ili ne. Ako je dostupna, izjavu ispisujte kao "postoji".

Kodirati:

 Sub example3 () Dim Fd Kao string Dim Fd1 Kao string Fd = "C: \ Korisnici \ cba_13 \ Desktop \ Sample \ Podaci" Fd1 = Dir (Fd, vbDirectory) Ako je Fd1 = "Podaci", tada MsgBox ("Izlazi") Kraj Pod 

Korak 5: U slučaju da se Fd1 ne podudara s mapom "Podaci", ispisat će izjavu "Ne postoji" u drugom stanju.

Kodirati:

 Sub example3 () Dim Fd kao string Dim Fd1 Kao string Fd = "C: \ Korisnici \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Ako je Fd1 = "Podaci", tada je MsgBox ("Izlazi") ostalo MsgBox ("Ne izlazi") Krajnji pot 

Korak 6: Završite petlju "If" kao što je prikazano na snimci zaslona.

Kodirati:

 Sub example3 () Dim Fd kao string Dim Fd1 Kao string Fd = "C: \ Korisnici \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Ako je Fd1 = "Podaci", tada je MsgBox ("Izlazi") ostalo MsgBox ("Ne izlazi") Kraj Ako Kraj Sub 

Korak 7: Pokrenite kôd pritiskom na tipku F5 ili klikom na tipku Play da biste provjerili je li mapa dostupna ili ne. Ako je u toj mapi dostupna mapa "Podaci", vratit će okvir s porukom "Postoji", kako je dolje navedeno.

Korak 8: Promijenite naziv mape kao Data1.

 Sub example3 () Dim Fd kao string Dim Fd1 Kao string Fd = "C: \ Korisnici \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Ako je Fd1 = "Podaci", tada MsgBox ("Izlazi") ostalo MsgBox ("Ne izlazi") Kraj Ako Kraj Sub 

Korak 9: Ponovo pokrenite kod. Sada je rezultat "Ne postoji" kao što je prikazano u nastavku.

Stvari koje treba zapamtiti

  • Argumenti u funkciji Dir nisu obvezni.
  • Ako želimo skrivene datoteke, mape ili različite vrste direktorija, onda u drugom argumentu spomenite svoj zahtjev.
  • Upotrijebite "\" na kraju naziva mape, a pritom dajete funkciju Dir za ulazak u mapu.
  • Ako želimo nazvati ili otvoriti više datoteka, možemo upotrijebiti znak "*" ili "?".

Preporučeni članci

Ovo je vodič za VBA funkciju DIR. Ovdje smo raspravljali o tome kako koristiti DIR funkciju u Excelu VBA zajedno s nekoliko praktičnih primjera i preuzeti Excel predložak. Možete i pregledati naše druge predložene članke -

  1. VBA radna bilježnica
  2. Indirektna funkcija u Excelu
  3. VBA grof
  4. Excel XOR funkcija

Kategorija: