Cum se utilizează funcția VBA DIR în Excel (7 exemple practice)

  • Imparte Asta
Hugh West

The DIR funcție în VBA vă arată în principal directorul sau fișierele dintr-un anumit dosar. De asemenea, poate returna primul fișier cu această funcție. Această funcție are o mulțime de utilizări pentru a obține fișiere și dosare specifice. Tot ce trebuie să faceți este să inserați calea fișierului în numele de cale al funcției VBA S-ar putea să vi se pară mai greu să folosiți codul VBA DIR Nu vă faceți griji, în acest articol, vă vom arăta câteva exemple pentru o mai bună vizualizare a utilizării codului VBA DIR Sper că veți putea folosi funcția după ce veți citi articolul. Așadar, să începem.

Descărcați caietul de practică

Descărcați următorul caiet de exerciții practice, care vă va ajuta să înțelegeți mai bine subiectul.

Funcția DIR.xlsm

Introducere în funcția DIR

Rezumat:

The VBA DIR returnează numele unui fișier sau al unui director dintr-o cale de folder dată. În mod convențional, returnează primul fișier.

Sintaxă:

Dir [ (pathname, [ atribute ] ) ]

Argumente Explicație:

Argument Necesar/Opțional Explicație
PathName Opțional Calea de accesat și specifică fișierul
Atribute Opțional Constantă sau expresie numerică specifică atributele fișierelor corespunzătoare

Există câteva atribute predefinite, acestea sunt-

Denumire atribut Descriere
vbNormal Fișiere fără atribute specifice
vbReadOnly Fișiere numai pentru citire fără atribute
vbHidden Fișiere ascunse fără atribute
vbSystem Fișiere de sistem fără atribute
vbVolume Etichetă de volum
vbDirectory Directoare sau foldere fără atribute
vbAlias Numele de fișier specificat este un alias

7 exemple de utilizare a funcției VBA DIR în Excel

Din descriere, s-ar putea să fi înțeles că VBA DIR oferă numele de fișier din calea de acces furnizată. Să înțelegem acest lucru printr-un exemplu. Aici am creat un director Exceldemy_Folder Pentru a vă arăta diverse exemple, în acest dosar există diferite foldere și fișiere mici.

1. Găsiți numele fișierului din calea de acces

În dosarul nostru, putem găsi un anumit fișier prin declararea căii de acces la numele fișierului.

După ce ați copiat calea fișierului, trebuie să rulați codul.

Din acest motiv, mergeți la Dezvoltator tab>> alege Visual Basic . apoi mergeți la Introduceți tab>> selectați Modul. În General vom scrie codul.

Deoarece agenda noastră este de a găsi Numele fișierului din pathname, vom seta pathname-ul complet (de la rădăcină la fișier) și codul nostru va fi

 Sub FileNames() Dim FN As String FN = Dir("E:\Exceldemy\Sales_of_January.xlsx") MsgBox FN End Sub 

Aici, în codul nostru, am setat numele de cale ca fiind E:\Exceldemy\Vânzări_de_ianuarie.xlsx

Descompunerea codului:

  • Inițial, am declarat o variabilă de tip șir de caractere numită FN . și ieșirea de la Dir a fost salvată în această variabilă.
  • În continuare, se va trece la Dir găsește numele fișierului și îl returnează din calea furnizată.
  • Apoi, se va face MsgBox stabilește ieșirea prin intermediul casetei de mesaje. MsgBox returnează ieșirea folosind o casetă de mesaje.
  • Apoi, rulați codul cu ajutorul comenzii F5 cheie.

În cele din urmă, am găsit fișierul numit Vânzări_de_ianuarie.xlsx .

2. Verificarea existenței unui director

Putem verifica existența unui director folosind funcția Dir Să scriem codul care să verifice dacă funcția Exceldemy Scrieți următorul cod în căsuța generală și rulați-l cu ajutorul comenzii F5 cheie.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " exists" Else MsgBox "The file doesn't exist" End If End Sub 

Descompunerea codului:

  • Am declarat două variabile; PN conține numele de acces complet al directorului nostru de verificare.
  • Aici, în cadrul Dir am setat două valori, pathname și valoarea atributului ca fiind vbDirectory Această valoare a atributului va ajuta la detectarea directorului. Iar rezultatul acestei funcții este stocat în fișierul Fișier variabilă.
  • Apoi am verificat dacă variabila este goală sau nu. Dacă se constată că variabila nu este goală, atunci se declară existența directorului printr-o casetă de mesaje, în caz contrar, returnarea nu există.

În acest caz, se va utiliza Exceldemy există, așa că vom găsi " Exceldemy există ", unde Exceldemy este numele dosarului.

3. Creați un dosar care nu există

Puteți crea un dosar care nu există pe PC-ul dvs. Pentru aceasta, trebuie să creați un nume de cale care nu există în folderele dvs. Să ne imaginăm că vom crea un director numit Exceldemy_1 Vom folosi MkDir pentru a crea directorul, dar înainte de asta, trebuie să scriem următorul fișier VBA cod.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy_1" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " File folder exists" Else MkDir PN MsgBox "A file folder has been created with the name" & File End If End Sub 

Aici am scris o comandă pentru a crea un director folosind calea de acces din fișierul Altfel din codul nostru. Rulați codul cu F5 cheie.

Directorul a fost creat. Să ne uităm la dosarul directorului. Exceldemy_1 este acum vizibil pe computerul dumneavoastră.

Lecturi similare:

  • Cum să apelați un Sub în VBA în Excel (4 exemple)
  • Returnarea unei valori în funcția VBA (atât valori din tablouri, cât și valori din afara tablourilor)
  • Utilizați funcția VBA UCASE în Excel (4 exemple)
  • Cum se utilizează funcția TRIM în VBA în Excel (Definiție + Cod VBA)

4. Găsiți primul fișier dintr-un director

Sarcina principală a Dir Tot ceea ce trebuie să furnizați în interiorul funcției este calea de acces (până la directorul container), iar aceasta va returna primul fișier din acel director.

Să găsim primul fișier din fișierul nostru Exceldemy Codul nostru va fi

 Sub FirstFileinFolder() Dim FN As String Dim PN As String PN = "E:\Exceldemy\" FN = Dir(PN) MsgBox "First File: " & FN End Sub 

Puteți vedea codul de bază; am trecut numele de cale în fișierul Dir funcție. Acum Rulați codul cu F5 veți găsi primul fișier din acest director.

5. Găsiți toate fișierele dintr-un director

În secțiunea anterioară, am văzut cum să găsim primul nume de fișier dintr-un director. Situația poate apărea atunci când trebuie să găsiți toate fișierele dintr-un anumit director. Pentru a găsi toate fișierele dintr-un anumit director, trebuie să scrieți următoarele VBA cod.

 Sub AllFile() Dim FN As String Dim FL As String FN = Dir("E:\Exceldemy\") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Lista fișierelor:" & FL) End Sub 

Iată două variabile pentru a stoca numele fișierelor sub forma unui singur ( FN ) și sub formă de listă ( FL ). Do While buclă itera până când nu mai rămâne niciun fișier în director, folosind această buclă, introducem fiecare nume de fișier în fișierul FL variabilă.

Executați codul și veți găsi toate fișierele din director, ca în imaginea de mai jos.

6. Găsiți toate fișierele și folderele dintr-un director

Am menționat în secțiunea anterioară unde se găsesc toate fișierele. Putem găsi și toate subfolderele dintr-un dosar. Pentru a face acest lucru, scrieți următoarele VBA cod pe care l-am atașat mai jos.

 Sub AllFileFolders() Dim AN As String Dim Lst As String AN = Dir("E:\Exceldemy_Folder\", vbDirectory) Do While AN "" Lst = Lst & vbNewLine & AN AN = Dir() Loop MsgBox ("File Lst:" & Lst) End Sub 

Schimbarea din codul nostru constă doar în utilizarea parametrilor de atribut. Am folosit parametrii vbDirectory în domeniul respectiv. Rulați codul, și veți găsi toate fișierele și subfolderele din Exceldemy_Folder .

7. Găsiți toate fișierele de un anumit tip

Utilizarea VBA Dir putem găsi orice tip special de fișier. Să explorăm cu un exemplu.

Vom găsi .csv Codul nostru va fi ca și cum ar fi următorul-

 Sub SpecialTypeFiles() Dim FL As String Dim FN As String FN = Dir("E:\Exceldemy_Folder\Exceldemy\*.csv") Do While FN "" FL = FL & vbNewLine & FN FN = Dir() Loop MsgBox ("Lista de fișiere .csv:" & FL) End Sub 

Sperăm că ați înțeles codul, care folosește un mecanism similar pentru găsirea fișierelor. În pathname, am folosit un wildcard ( * ). acest asterisc (*) denotă că poate apărea orice caracter până la orice număr. Wildcardul a fost folosit în așa fel încât numele de fișier poate fi orice, dar trebuie să fie un caracter .csv dosar.

Când executați codul, acesta va returna valoarea .csv din fișierele noastre Exceldemy director.

Secțiunea practică

Am pus la dispoziție o secțiune de practică pe fiecare foaie din partea dreaptă pentru a vă exersa. Vă rugăm să o faceți singur.

Concluzie

Asta e tot despre sesiunea de astăzi. Și acestea sunt câteva exemple simple de VBA Dir în Excel. Vă rugăm să ne anunțați în secțiunea de comentarii dacă aveți întrebări sau sugestii. Pentru o mai bună înțelegere, vă rugăm să descărcați fișa de practică. Vizitați site-ul nostru, Exceldemy , un furnizor unic de soluții Excel, pentru a afla despre diverse tipuri de metode Excel. Vă mulțumim pentru răbdarea de a citi acest articol.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.