Excel VBA DIR Funcție

Dir este una dintre funcțiile disponibile în VBA. Funcția Dir este pentru referirea directoarelor în codul VBA.
Funcția care returnează numele fișierului sau directorului care se potrivește cu atributul sau șirul dat altfel returnează primul fișier sau folder. În cuvinte simple, dacă avem un folder ABC și în interiorul ABC există un fișier XYZ, atunci putem accesa fișierul XYZ folosind funcția DIR în VBA.

Formula pentru funcția DIR în Excel VBA

Funcția DIR are următoarea sintaxă în Excel VBA:

Are două părți Nume de cale și atribute.

  • Nume cale: După nume, toată lumea poate înțelege că este calea fișierului unde există de fapt fișierul. Dacă nu introducem nicio cale în numele de cale, acesta va întoarce un șir gol.
  • Atribut: este un argument opțional, nu folosim mare parte din acest lucru. Putem folosi acest lucru atunci când dorim să deschidem fișierul cu atributele de mai jos, apoi VBA caută acele fișiere.
vbArchiveSpecifică Arhive sau Fișiere de Backup.
vbNormalAtribute normale (implicite) sau fără atribute.
vbReadOnlyfișiere cu numai citire
vbSystemFișiere de sistem
vbVolumeetichetă de volum; Dacă utilizați orice alt atribut cu acesta, eticheta de volum este ignorată.
vbDirectoryDirectoare sau dosare.
vbHiddenfișiere ascunse
vbAliasNumele fișierului este un alias

Cum se utilizează funcția DIR în Excel VBA?

Mai jos sunt diferite exemple de utilizare a funcției DIR în Excel folosind codul VBA.

Puteți descărca acest șablon VBA DIR Excel aici - Șablonul Excel VBA DIR

Funcția VBA DIR - Exemplul # 1

În acest exemplu, vom vedea cum să accesați un nume de fișier folosind funcția DIR din VBA.

Pasul 1: accesați fila Dezvoltatori și faceți clic pe Visual Basic

Pasul 2: Deschideți un modul din opțiunea de meniu Insert, așa cum se arată mai jos.

Pasul 3: Pentru a porni orice macro, mai întâi trebuie să dăm un nume macro cu cuvântul cheie „sub” ca mai jos.

Cod:

 Sub myexample1 () End Sub 

Amintiți-vă că ne scriem codul în „Modulul 1” când introducem „submyexample ()”, automat va apărea „End sub”.

Pasul 4: Definiți un șir folosind cuvântul cheie „ Dim ” care se referă la dimensiune. În imaginea de mai jos, „mystring” este numele șirului.

Cod:

 Sub myexample1 () Dim mystring As String End Sub 

Nu uitați de fiecare dată când definiți numele tipurilor de date sau numele programelor, nu trebuie să existe spațiu între două cuvinte. „Mystring” nu există spațiu între „my” și „string”.

Fișierul este disponibil într-un director de mostre, care este disponibil pe desktop, iar numele fișierului este „KT tracker mine”.

C: \ Users \ cba_13 \ Desktop \ Sample \

Pasul 5: Acum trebuie să stocăm numele fișierului în „mystring” folosind funcția Dir.

Cod:

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

În ecranul de mai sus din funcția Dir, am dat calea fișierului fără numele fișierului. Întrucât există un singur fișier, acesta va returna numele fișierului.

Pasul 6: Acum, cu pasul de mai sus, numele fișierului stocat în șirul „mystring”. Pentru a afișa numele fișierului, trebuie să îl afișăm printr-o casetă de mesaje. Creați o casetă de mesaje.

Cod:

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

Am dat instrucțiunea de a afișa datele în „mistring” prin caseta de mesaje, deoarece „mystring” are numele fișierului, acesta va afișa numele fișierului prin caseta de mesaj.

Pasul 7: Acum rulați codul făcând clic pe butonul Redare sau prin apăsarea tastei F5.

Funcția VBA DIR - Exemplul # 2

În acest exemplu, vom vedea cum să deschideți un fișier folosind funcția DIR în Excel VBA.

Pasul 1: Deschideți ecranul codului VBA și începeți să dați numele programului ca „exemplu2” sau orice nume doriți.

Cod:

 Sub exemplu2 () End Sub 

Pasul 2: Definiți două șiruri cu numele „Foldername” și „Denumire fișier”.

Cod:

 Sub exemplu2 () Dim Nume Fold As String Dim Numele fișierului Ca String End Sub 

Pasul 3: Acum alocați calea folderului la numele folderului.

Cod:

 Sub exemplu2 () Dim Foldername As String Dim Dimenum File As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Sub Sub 

Pasul 4: Alocați fișierul „nume de fișier” folosind funcția Dir. Aici am folosit variabila „Foldername”, deoarece are calea folderului. Cu ajutorul ampersand, am adăugat numele fișierului pe cale.

Cod:

 Sub exemplu2 () Dim Foldername As String Dim Dimenum File As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Filename = Dir (Foldername & "KT Tracker mine.xlsx") End Sub 

Acum funcția Dir returnează numele fișierului și se va stoca în variabila „nume de fișier”.

Pasul 5: În exemplul precedent, am folosit caseta de mesaje pentru a vedea rezultatele. Dar, în acest lucru vrem să deschidem fișierul, așa că vom folosi comanda „workbooks.open”.

Cod:

 Sub exemplu2 () Dim Foldername As String Dim Dimenum File As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Filename = Dir (Foldername & "KT Tracker mine.xlsx") Workbooks.Open Name Fold & Filename End Sub 

Pasul 6: Rulați codul de mai sus va deschide fișierul disponibil în folderul „C: \ Users \ cba_13 \ Desktop \ Sample \” cu numele fișierului „KT Tracker mine”.

Funcția VBA DIR - Exemplul # 3

Acum vom vedea programul pentru a ști dacă un folder este disponibil sau nu. Am folderul „Date” așa cum se arată mai jos.

Trebuie să verificăm cu ajutorul funcției Dir dacă folderul „Date” este disponibil pe calea C: \ Users \ cba_13 \ Desktop \ Sample \.

Pasul 1: Creați un nume de program și definiți două șiruri cu numele FD și FD1.

Cod:

 Sub exemplu3 () Dim Fd As String Dim Fd1 As String End Sub 

Pasul 2: Alocați calea folderului la variabila „Fd”.

Cod:

 Sub exemplu3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Sub Sub 

Pasul 3: Utilizați acum funcția Dir pentru a returna numele folderului așa cum se arată mai jos.

Cod:

 Sub exemplu3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) End Sub 

Rezultatul funcției Dir ar trebui să fie numele folderului și se va stoca în variabila șir Fd1. Dacă folderul „Date” nu este disponibil în folderul respectiv, nu va returna niciun șir.

Pasul 4: Acum trebuie să verificăm dacă Fd1 are sau nu un dosar „Date”. Utilizați condiția IF pentru a verifica dacă Fd1 are șirul „Date” sau nu. Dacă este disponibilă, imprimați instrucțiunea ca „Există”.

Cod:

 Sub exemplu3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) If Fd1 = "Data" Atunci MsgBox ("Exits") End Sub 

Pasul 5: În cazul în care Fd1 nu se potrivește cu folderul „Date”, va fi tipărită instrucțiunea „Nu există” în altă stare.

Cod:

 Sub exemplu3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Dacă Fd1 = "Data" Atunci MsgBox ("Ieși") În rest MsgBox („Nu iese”) 

Pasul 6: Încheiați bucla „Dacă” așa cum se arată în imaginea de mai jos.

Cod:

 Sub exemplu3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Dacă Fd1 = "Data" Atunci MsgBox ("Ieși") În rest MsgBox („Nu iese”) End If End Sub 

Pasul 7: Rulați codul apăsând tasta F5 sau făcând clic pe butonul Redare pentru a verifica dacă folderul este disponibil sau nu. Dacă folderul „Date” este disponibil în folderul respectiv, acesta va returna caseta de mesaj cu mesajul „Există” ca mai jos.

Pasul 8: Schimbați numele folderului ca Data1.

 Sub exemplu3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Dacă Fd1 = "Data" Atunci MsgBox ("Ieși") Altfel MsgBox („Nu iese”) End If End Sub 

Pasul 9: rulați din nou codul. Acum, rezultatul este „Nu există”, așa cum se arată mai jos.

Lucruri de amintit

  • Argumentele din funcția Dir sunt opționale.
  • Dacă dorim fișiere ascunse, foldere sau diferite tipuri de directoare, atunci menționăm cerința dvs. în al doilea argument.
  • Utilizați „\” la sfârșitul numelui folderului în timp ce dați funcția Dir pentru a merge în folder.
  • Dacă dorim să apelăm sau să deschidem mai multe fișiere, putem folosi caracterul „wild card” „*” sau „?”.

Articole recomandate

Acesta este un ghid pentru funcția VBA DIR. Aici vom discuta despre cum să utilizăm funcția DIR în Excel VBA, împreună cu câteva exemple practice și șablonul excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Carte de lucru VBA
  2. Funcția INDIRECT în Excel
  3. VBA Count
  4. Funcția Excel XOR

Categorie: