Kako uporabljati funkcijo VBA DIR v Excelu (7 praktičnih primerov)

  • Deliti To
Hugh West

Spletna stran DIR funkcijo v VBA v glavnem prikaže imenik ali datoteke iz določene mape. s to funkcijo lahko vrne tudi prvo datoteko. Ta funkcija ima veliko možnosti uporabe za pridobivanje določenih datotek in map. vse, kar potrebujete, je, da samo vstavite pot do datoteke v ime VBA kodo. Morda boste težje uporabili VBA DIR kode. Ne skrbite, v tem članku vam bomo pokazali nekaj primerov za boljšo vizualizacijo uporabe VBA DIR Upam, da boste po prebranem članku znali uporabljati to funkcijo. Torej, začnimo.

Prenesi delovni zvezek za prakso

Prenesite si naslednji delovni zvezek. Pomagal vam bo bolje razumeti predmet.

DIR Function.xlsm

Uvod v funkcijo DIR

Povzetek:

Spletna stran VBA DIR Funkcija vrne ime datoteke ali imenika iz dane poti do mape. Običajno vrne prvo datoteko.

Sintaksa:

Dir [ (ime poti, [ atributi ] ) ]

Argumenti Razlaga:

Argument Obvezno/izbirno Razlaga:
Ime poti Izbirno Pot za dostop in določi datoteko
Atributi Izbirno Konstanta ali številski izraz določa atribute ujemajočih se datotek

Obstaja nekaj vnaprej določenih atributov, in sicer.

Ime atributa Opis
vbNormal Datoteke brez posebnih atributov
vbReadOnly Datoteke samo za branje brez atributov
vbHidden Skrite datoteke brez atributov
vbSystem Sistemske datoteke brez atributov
vbVolume Nalepka za zvezek
vbDirectory imeniki ali mape brez atributov
vbAlias Navedeno ime datoteke je vzdevek

7 primerov uporabe funkcije VBA DIR v Excelu

Iz opisa bi lahko razbrali, da je VBA DIR funkcija zagotovi ime datoteke iz posredovanega imena poti. Razumemo jo na primeru. Tukaj smo ustvarili imenik Exceldemy_Folder V tej mapi so različne majhne mape in datoteke.

1. Poiščite ime datoteke iz poti

V naši mapi lahko določeno datoteko poiščemo tako, da navedemo pot do imena datoteke.

Po kopiranju poti do datoteke morate zagnati kodo.

Zato obiščite Razvijalec zavihek>> izbrati Visual Basic . Nato pojdite v Vstavite zavihek>> izberite Modul. V Splošno pogovorno okno, zapišemo kodo.

Ker je naša naloga najti Ime datoteke iz imena poti, bomo nastavili celotno ime poti (od samega korena do datoteke) in naša koda bo

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

V naši kodi smo nastavili ime poti kot E:\Exceldemy\Prodaja_drugega_januarja.xlsx

Razčlenitev kode:

  • Na začetku smo deklarirali spremenljivko string z imenom FN . In izhodni signal programa Dir funkcija je bila shranjena v tej spremenljivki.
  • Nato Dir funkcija poišče ime datoteke in jo vrne z navedene poti.
  • Nato MsgBox nastavi izpis prek polja za sporočila. MsgBox vrne izpis s pomočjo polja za sporočila.
  • Nato zaženite kodo z ukazom F5 ključ.

Končno smo našli datoteko z imenom Prodaja_v_januarju.xlsx .

2. Preverite obstoj imenika

Obstoj imenika lahko preverimo z ukazom Dir napišimo kodo za preverjanje, ali je funkcija Odlično V splošno polje zapišite naslednjo kodo in jo zaženite z F5 ključ.

 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 

Razčlenitev kode:

  • Deklarirali smo dve spremenljivki; PN vsebuje polno ime našega imenika za preverjanje.
  • Tukaj v okviru Dir smo nastavili dve vrednosti, ime poti in vrednost atributa kot vbDirectory . Ta vrednost atributa bo pomagala pri odkrivanju imenika. In rezultat te funkcije je shranjen v Datoteka spremenljivka.
  • Nato smo preverili, ali je spremenljivka prazna ali ne. Če ugotovimo, da spremenljivka ni prazna, v sporočilnem oknu razglasimo obstoj imenika, v nasprotnem primeru vrnitev ne obstaja.

Tu je Odlično imenik obstaja, zato bomo našli " Exceldemy obstaja ", pri čemer Odlično je ime mape.

3. Ustvarjanje mape, ki ne obstaja

Ustvarite lahko mapo, ki v računalniku ne obstaja. Za to morate ustvariti ime poti, ki ne obstaja v vaših mapah. Predstavljajmo si, da bomo ustvarili imenik z imenom Exceldemy_1 . Uporabili bomo MkDir za ustvarjanje imenika, vendar moramo pred tem napisati naslednji ukaz VBA koda.

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

Tu smo napisali ukaz za ustvarjanje imenika z uporabo imena poti iz Drugače v naši kodi. Spustite kodo z F5 ključ.

Imenik je bil ustvarjen. Oglejmo si mapo imenika. Exceldemy_1 mapa je zdaj vidna v računalniku.

Podobna branja:

  • Kako priklicati podprogram v programu VBA v Excelu (4 primeri)
  • Vračanje vrednosti v funkciji VBA (tako vrednosti v polju kot vrednosti, ki niso v polju)
  • Uporaba funkcije VBA UCASE v Excelu (4 primeri)
  • Kako uporabiti funkcijo TRIM v programu VBA v Excelu (opredelitev + koda VBA)

4. Poiščite prvo datoteko v imeniku

Glavna naloga Dir Funkcija najde prvo datoteko v navedenem imeniku. Vse, kar morate navesti znotraj funkcije, je ime poti (do imenika vsebnika) in funkcija bo vrnila prvo datoteko iz tega imenika.

Poiščimo prvo datoteko iz našega Odlično imenik. Naša koda bo

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

Ogledate si lahko osnovno kodo; ime poti smo posredovali v ukaz Dir funkcija. Zdaj Spustite kodo z F5 boste našli prvo datoteko v tem imeniku.

5. Poiščite vse datoteke v imeniku

V prejšnjem razdelku smo videli, kako poiskati ime prve datoteke v imeniku. Situacija se lahko pojavi, ko morate poiskati vse datoteke iz določenega imenika. Če želite poiskati vse datoteke v določenem imeniku, morate zapisati naslednje VBA koda.

 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 ("Seznam datotek:" & FL) End Sub 

Tukaj sta dve spremenljivki za shranjevanje imen datotek kot enega ( FN ) in kot seznam ( FL ). Naredite, medtem ko zanka iterira, dokler v imeniku ne ostane nobena datoteka, s to zanko pa vsako ime datoteke potisnemo v FL spremenljivka.

Izvedite kodo in našli boste vse datoteke v imeniku, kot na spodnji sliki.

6. Poiščite vse datoteke in mape v imeniku

V prejšnjem razdelku smo omenili, kje lahko poiščemo vse datoteke. Poiščemo lahko tudi vse podmape v mapi. To storite tako, da zapišete naslednje VBA kodo, ki je priložena spodaj.

 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 

Sprememba v naši kodi je le uporaba parametrov atributov. Uporabili smo vbDirectory na tem področju. Spustite kodo in našli boste vse datoteke in podmape Exceldemy_Folder .

7. Poiščite vse datoteke določene vrste

Uporaba VBA Dir lahko poiščemo katero koli določeno vrsto datoteke. Oglejmo si to s primerom.

Poiskali bomo .csv datoteke iz našega imenika. Naša koda bo naslednja.

 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 ("Seznam datotek .csv:" & FL) End Sub 

Upamo, da ste razumeli kodo, ki uporablja podoben mehanizem za iskanje datotek. V imenu poti smo uporabili nadomestni znak ( * ). Ta zvezdica (*) pomeni, da se lahko pojavi katerikoli znak do poljubnega števila. Podredni znak je bil uporabljen tako, da je ime datoteke lahko karkoli, vendar mora biti .csv datoteka.

Ko zaženete kodo, bo ta vrnila .csv datoteke iz naše Odlično imenik.

Oddelek za prakso

Na vsakem listu na desni strani smo pripravili vadbeni del za vadbo. Prosimo, da ga izvajate sami.

Zaključek

To je vse o današnji seji. In to je nekaj enostavnih primerov VBA Dir funkcijo v programu Excel. Če imate kakršna koli vprašanja ali predloge, nam to sporočite v razdelku za komentarje. Za boljše razumevanje prenesite vadbeni list. Obiščite naše spletno mesto, Odlično , ponudnika rešitev Excel na enem mestu, da bi izvedeli več o različnih vrstah metod Excel-a. Hvala za potrpežljivost pri branju tega članka.

Hugh West je zelo izkušen trener Excela in analitik z več kot 10-letnimi izkušnjami v industriji. Po izobrazbi je diplomirani računovodstvo in finance ter magisterij poslovne administracije. Hugh ima strast do poučevanja in je razvil edinstven pristop k poučevanju, ki ga je enostavno slediti in razumeti. Njegovo strokovno znanje o Excelu je pomagalo na tisoče študentom in strokovnjakom po vsem svetu, da so izboljšali svoje sposobnosti in se izkazali v karieri. Prek svojega bloga Hugh deli svoje znanje s svetom, ponuja brezplačne vadnice za Excel in spletno usposabljanje, ki posameznikom in podjetjem pomaga doseči njihov polni potencial.