Excel VBA DIR-funktion

Dir är en av de funktioner som finns tillgängliga i VBA. Dir-funktionen är för att hänvisa till kataloger i VBA-kod.
Funktionen som returnerar filen eller katalognamnet som matchar det angivna attributet eller strängen returnerar annars den första filen eller mappen. Med enkla ord, om vi har en mapp ABC och inuti ABC finns det en fil XYZ så kan vi få åtkomst till XYZ-fil med hjälp av DIR-funktion i VBA.

Formel för DIR-funktion i Excel VBA

DIR-funktionen har följande syntax i Excel VBA:

Den har två delar sökväg och attribut.

  • Sökväg: Med namnet kan alla förstå att det är sökvägen till filen där filen faktiskt finns. Om vi ​​inte matar in någon väg i söknamnet kommer det att returnera en tom sträng.
  • Attribut: Det är ett valfritt argument, vi använder inte mycket av detta. Vi kan använda detta när vi vill öppna filen med attributen nedan. VBA letar efter dessa filer.
vbArchiveAnger arkiv eller säkerhetskopieringsfiler.
vbNormalNormal (standard) eller inga attribut.
vbReadOnlyskrivskyddade filer
vbSystemSystemfiler
vbVolumevolymetikett; Om du använder något annat attribut med det här, ignoreras volymetiketten.
vbDirectoryKataloger eller mappar.
vbHiddendolda filer
vbAliasFilnamn är ett alias

Hur använder jag DIR-funktion i Excel VBA?

Nedan är de olika exemplen att använda DIR-funktion i Excel med VBA-kod.

Du kan ladda ner denna VBA DIR Excel-mall här - VBA DIR Excel-mall

VBA DIR-funktion - Exempel # 1

I det här exemplet ser vi hur du får åtkomst till ett filnamn med DIR-funktionen i VBA.

Steg 1: Gå till fliken Utvecklare och klicka på Visual Basic

Steg 2: Öppna en modul från infoga menyalternativet som visas nedan.

Steg 3: För att starta vilket makro som helst måste vi först ge ett namn till makroen med nyckelordet "sub" enligt nedan.

Koda:

 Sub myexample1 () Slut Sub 

Kom ihåg att vi skriver vår kod i "Modul1" när vi matar in "sub myexample ()", automatiskt kommer "End sub" att visas.

Steg 4: Definiera en sträng med hjälp av nyckelordet " Dim " som refererar till dimension. I nedanstående skärmdump är "mystring" strängnamnet.

Koda:

 Sub myexample1 () Dim mystring As String End Sub 

Kom ihåg när du definierar namnen på datatyper eller programnamn bör det inte finnas något avstånd mellan två ord. "Mystring" inget utrymme mellan "min" och "sträng".

Filen är tillgänglig i exempelmappen som är tillgänglig på skrivbordet och filnamnet är "KT tracker mine".

C: \ Users \ cba_13 \ Desktop \ Sample \

Steg 5: Nu måste vi lagra filnamnet i "mystring" med funktionen Dir.

Koda:

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

I ovanstående skärmdump i Dir-funktionen har jag gett filvägen exklusive filnamn. Eftersom det bara finns en fil kommer det att returnera filnamnet.

Steg 6: Nu med ovanstående steg filnamnet lagrat i strängen "mystring". För att visa filnamnet måste vi visa det genom en meddelanderuta. Skapa en meddelanderuta.

Koda:

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

Vi gav instruktionen att visa data i "mystring" genom meddelanderuta, eftersom "mystring" har filnamn kommer det att visa filnamnet genom meddelanderutan.

Steg 7: Kör nu koden genom att klicka på knappen Spela eller genom att trycka på F5-tangenten.

VBA DIR-funktion - Exempel # 2

I det här exemplet ser vi hur man öppnar en fil med DIR-funktionen i Excel VBA.

Steg 1: Öppna VBA-kodskärmen och börja med att ge programnamnet som "exempel2" eller vilket namn du vill ha.

Koda:

 Subexempel2 () Slut Sub 

Steg 2: Definiera två strängar med namnen "Mappnamn" och "Filnamn".

Koda:

 Subexempel2 () Dim mappnamn som sträng Dim filnamn som sträng slut Sub 

Steg 3: Tilldela nu mappvägen till mappnamnet.

Koda:

 Subexempel2 () Dimmappnamn som sträng Dim filnamn som strängmappnamn = "C: \ Användare \ cba_13 \ Skrivbord \ Exempel \" Slut Sub 

Steg 4: Tilldela filen till "filnamn" med funktionen Dir. Här använde vi variabeln "Mappnamn" eftersom den har mappvägen. Med hjälp av ampersand lägger vi till filnamnet till sökvägen.

Koda:

 Subexempel2 () Dim mappnamn som sträng Dim filnamn som sträng mappnamn = "C: \ Användare \ cba_13 \ Skrivbord \ Sample \" Filnamn = Dir (mappnamn & "KT Tracker mine.xlsx") Slut Sub 

Nu ger Dir-funktionen filnamnet och det kommer att lagras i variabeln "filnamn".

Steg 5: I föregående exempel använde vi meddelanderutan för att se resultaten. Men i detta vill vi öppna filen, så vi kommer att använda kommandot “workbooks.open”.

Koda:

 Subexempel2 () Dim mappnamn som sträng Dim filnamn som sträng mappnamn = "C: \ Användare \ cba_13 \ Skrivbord \ Exempel \" Filnamn = Dir (mappnamn & "KT Tracker mine.xlsx") Arbetsböcker. Öppna mappnamn & filnamn slut Sub 

Steg 6: Kör ovanstående kod, den kommer att öppna den tillgängliga filen i mappen "C: \ Användare \ cba_13 \ Desktop \ Sample \" med filnamnet "KT Tracker gruva".

VBA DIR-funktion - Exempel # 3

Nu kommer vi att se programmet för att veta om en mapp är tillgänglig eller inte. Jag har mappen "Data" som visas nedan.

Vi måste kontrollera med hjälp av Dir-funktionen om mappen “Data” är tillgänglig i sökvägen C: \ Användare \ cba_13 \ Desktop \ Sample \.

Steg 1: Skapa ett programnamn och definiera två strängar med namnen FD och FD1.

Koda:

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

Steg 2: Tilldela mappvägen till variabeln "Fd".

Koda:

 Subexempel3 () Dim Fd As String Dim Fd1 Som String Fd = "C: \ Användare \ cba_13 \ Desktop \ Exempel \ Data" Slut Sub 

Steg 3: Använd nu funktionen Dir för att returnera mappnamnet som visas nedan.

Koda:

 Subexempel3 () Dim Fd Som Sträng Dim Fd1 Som Sträng Fd = "C: \ Användare \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Slut Sub 

Dir-funktionsresultatet ska vara mappnamn och det kommer att lagras i strängvariabeln Fd1. Om mappen “Data” inte är tillgänglig i respektive mapp kommer den inte att returnera någon sträng.

Steg 4: Nu måste vi kontrollera om Fd1 har en "Data" -mapp eller inte. Använd IF-villkor för att kontrollera om Fd1 har strängen “Data” eller inte. Om det är tillgängligt, skriv sedan uttalandet som ”Existerar”.

Koda:

 Subexempel3 () Dim Fd As String Dim Fd1 Som String Fd = "C: \ Användare \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Om Fd1 = "Data" Sedan MsgBox ("Exits") Slut Sub 

Steg 5: Om Fd1 inte stämmer med mappen "Data" kommer utskriften "existerar inte" att skrivas ut i annat skick.

Koda:

 Subexempel3 () Dim Fd As String Dim Fd1 Som String Fd = "C: \ Användare \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Om Fd1 = "Data" Sedan MsgBox ("Exits") Annars MsgBox ("Not Exits") End Sub 

Steg 6: Avsluta “If” -slingan som visas på skärmbilden nedan.

Koda:

 Subexempel3 () Dim Fd As String Dim Fd1 Som String Fd = "C: \ Användare \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Om Fd1 = "Data" Sedan MsgBox ("Exits") Annars MsgBox ("Utgår inte") End If End Sub 

Steg 7: Kör koden genom att trycka på F5-tangenten eller genom att klicka på Play-knappen för att kontrollera om mappen är tillgänglig eller inte. Om mappen “Data” är tillgänglig i den mappen returnerar den meddelanderutan med meddelandet “Existerar” enligt nedan.

Steg 8: Ändra bara mappens namn som Data1.

 Subexempel3 () Dim Fd As String Dim Fd1 Som String Fd = "C: \ Användare \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Om Fd1 = "Data" Sedan MsgBox ("Exits") Annars MsgBox ("Utgår inte") End If End Sub 

Steg 9: Kör koden igen. Nu är resultatet ”Finns inte” som visas nedan.

Saker att komma ihåg

  • Argumenten i Dir-funktionen är valfria.
  • Om vi ​​vill ha dolda filer, mappar eller olika typer av kataloger, ange ditt krav i det andra argumentet.
  • Använd "\" i slutet av mappnamnet medan du ger Dir-funktionen för att gå in i mappen.
  • Om vi ​​vill ringa eller öppna flera filer kan vi använda jokerteckenet "*" eller "?".

Rekommenderade artiklar

Detta är en guide till VBA DIR-funktion. Här diskuterar vi hur du använder DIR-funktion i Excel VBA tillsammans med några praktiska exempel och nedladdningsbar Excel-mall. Du kan också gå igenom våra andra föreslagna artiklar -

  1. VBA-arbetsbok
  2. INDIREKT Funktion i Excel
  3. VBA-räkning
  4. Excel XOR-funktion

Kategori: