Ako používať funkciu VBA DIR v programe Excel (7 praktických príkladov)

  • Zdieľajte To
Hugh West

Stránka DIR funkciu v VBA vám zobrazí hlavne adresár alebo súbory z daného priečinka. Pomocou tejto funkcie môže vrátiť aj prvý súbor. Táto funkcia má veľa možností využitia na získanie konkrétnych súborov a priečinkov. Stačí len vložiť cestu k súboru do názvu VBA kód. Môže sa vám zdať ťažšie používať VBA DIR V tomto článku vám ukážeme niekoľko príkladov pre lepšiu vizualizáciu použitia VBA DIR Dúfam, že po prečítaní článku budete vedieť funkciu používať. Tak poďme začať.

Stiahnite si cvičebnicu

Stiahnite si nasledujúci cvičebnicu. Pomôže vám lepšie pochopiť tému.

DIR Function.xlsm

Úvod do funkcie DIR

Zhrnutie:

Stránka VBA DIR Funkcia vráti názov súboru alebo adresára zo zadanej cesty k priečinku. Zvyčajne vráti prvý súbor.

Syntax:

Dir [ (názov cesty, [ atribúty ] ) ]

Argumenty Vysvetlenie:

Argument Povinné/voliteľné Vysvetlenie
PathName Voliteľné Cesta na prístup a určuje súbor
Atribúty Voliteľné Konštanta alebo číselný výraz určuje atribúty zodpovedajúcich súborov

Existuje niekoľko preddefinovaných atribútov.

Názov atribútu Popis
vbNormal Súbory bez špecifických atribútov
vbReadOnly Súbory len na čítanie bez atribútov
vbHidden Skryté súbory bez atribútov
vbSystem Systémové súbory bez atribútov
vbVolume Štítok zväzku
vbDirectory Adresáre alebo priečinky bez atribútov
vbAlias Zadaný názov súboru je alias

7 príkladov použitia funkcie VBA DIR v programe Excel

Z opisu ste mohli pochopiť, že VBA DIR Funkcia poskytuje názov súboru zo zadaného názvu cesty. Pochopme to na príklade. Tu sme vytvorili adresár Exceldemy_Folder ukázať rôzne príklady. V tomto priečinku sa nachádzajú rôzne malé priečinky a súbory.

1. Vyhľadajte názov súboru z cesty

V našom priečinku môžeme nájsť konkrétny súbor tak, že vyhlásime cestu k názvu súboru.

Po skopírovaní cesty k súboru je potrebné spustiť kód.

Z tohto dôvodu prejdite na Vývojár karta>> vybrať Visual Basic Potom prejdite na Vložte karta>> vybrať Modul. V Všeobecné dialógové okno, napíšeme kód.

Keďže naším cieľom je nájsť Názov súboru z názvu cesty, nastavíme celý názov cesty (od samotného koreňového adresára až po súbor) a náš kód bude

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

V našom kóde sme nastavili názov cesty ako E:\Exceldemy\Predaje_z_januára.xlsx

Rozdelenie kódu:

  • Na začiatku sme deklarovali reťazcovú premennú s názvom FN . A výstup Dir funkcia bola uložená v tejto premennej.
  • Ďalej Dir funkcia nájde názov súboru a vráti ho zo zadanej cesty.
  • Potom sa MsgBox nastaví výstup prostredníctvom poľa správ. MsgBox vracia výstup pomocou poľa správ.
  • Potom spustite kód s príkazom F5 kľúč.

Nakoniec sme našli súbor s názvom Tržby_z_januára.xlsx .

2. Kontrola existencie adresára

Existenciu adresára môžeme skontrolovať pomocou príkazu Dir Napíšeme kód na kontrolu, či Exceldemy Do všeobecného poľa zapíšte nasledujúci kód a spustite ho pomocou F5 kľúč.

 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 

Rozdelenie kódu:

  • Deklarovali sme dve premenné; PN obsahuje úplný názov nášho kontrolného adresára.
  • Tu v rámci Dir sme nastavili dve hodnoty, názov cesty a hodnotu atribútu ako vbDirectory . Táto hodnota atribútu pomôže zistiť adresár. A výstup tejto funkcie sa uloží do Súbor premenná.
  • Potom sme skontrolovali, či je premenná prázdna alebo nie je. Ak zistíme, že premenná nie je, potom existenciu adresára deklarujeme prostredníctvom okna so správou, v opačnom prípade návrat neexistuje.

Tu sa Exceldemy adresár existuje, takže nájdeme " Exceldemy existuje ", kde Exceldemy je názov priečinka.

3. Vytvorenie priečinka, ktorý neexistuje

Môžete vytvoriť priečinok, ktorý vo vašom počítači neexistuje. Na tento účel musíte vytvoriť názov cesty, ktorý vo vašich priečinkoch neexistuje. Predstavme si, že vytvoríme adresár s názvom Exceldemy_1 . Budeme používať MkDir na vytvorenie adresára, ale ešte predtým musíme napísať nasledujúci príkaz VBA kód.

 Sub CheckFile() Dim PN As String Dim File As String PN = "E:\Exceldemy_1" File = Dir(PN, vbDirectory) If File "" Then MsgBox File & " Priečinok so súborom existuje" Else MkDir PN MsgBox "Bol vytvorený priečinok s názvom" & File End If End Sub 

Tu sme napísali príkaz na vytvorenie adresára pomocou názvu cesty z Inak bloku nášho kódu. Spustiť kód s F5 kľúč.

Adresár bol vytvorený. Pozrime sa na adresárový priečinok. Exceldemy_1 priečinok je teraz viditeľný v počítači.

Podobné čítanie:

  • Ako zavolať podradenú položku vo VBA v programe Excel (4 príklady)
  • Vrátenie hodnoty vo funkcii VBA (hodnoty v poli aj iné hodnoty)
  • Používanie funkcie VBA UCASE v programe Excel (4 príklady)
  • Ako používať funkciu TRIM vo VBA v programe Excel (definícia + kód VBA)

4. Vyhľadanie prvého súboru z adresára

Hlavnou úlohou Dir funkcia má nájsť prvý súbor v zadanom adresári. Všetko, čo musíte zadať vo vnútri funkcie, je názov cesty (až po adresár kontajnera) a funkcia vráti úplne prvý súbor z tohto adresára.

Nájdime prvý súbor z nášho Exceldemy adresár. Náš kód bude

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

Môžete vidieť základný kód; odovzdali sme názov cesty do Dir funkcia. Teraz Spustiť kód s F5 nájdete prvý súbor v tomto adresári.

5. Vyhľadanie všetkých súborov z adresára

V predchádzajúcej časti sme videli, ako nájsť prvý názov súboru z adresára. Situácia môže nastať, keď potrebujete nájsť všetky súbory z konkrétneho adresára. Ak chcete nájsť všetky súbory v konkrétnom adresári, musíte napísať nasledovné VBA kód.

 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 ("Zoznam súborov:" & FL) End Sub 

Tu sú dve premenné na uloženie názvov súborov ako jedného ( FN ) a ako zoznam ( FL ). Robiť, kým slučka iteruje až do momentu, keď v adresári nezostane žiadny súbor, pomocou tejto slučky presunieme každý názov súboru do FL premenná.

Spustite kód a nájdete všetky súbory v adresári, ako na obrázku nižšie.

6. Vyhľadanie všetkých súborov a priečinkov z adresára

V predchádzajúcej časti sme uviedli, kde nájdeme všetky súbory. Môžeme tiež nájsť všetky podpriečinky v priečinku. Ak to chcete urobiť, napíšte nasledujúci príkaz VBA kód, ktorý sme priložili nižšie.

 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 

Zmena v našom kóde spočíva len v použití parametrov atribútov. Použili sme vbDirectory v tejto oblasti. Spustiť kód a nájdete všetky súbory a podpriečinky Exceldemy_Folder .

7. Vyhľadanie všetkých súborov určitého typu

Použitie VBA Dir môžeme nájsť akýkoľvek konkrétny typ súboru. Poďme si to ukázať na príklade.

Nájdeme .csv Náš kód bude vyzerať nasledovne.

 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 ("Zoznam súborov .csv:" & FL) End Sub 

Dúfame, že ste pochopili kód, ktorý používa podobný mechanizmus na vyhľadávanie súborov. V názve cesty sme použili zástupný znak ( * ). Táto hviezdička (*) označuje, že sa môže vyskytnúť akýkoľvek znak až po ľubovoľné číslo. Zástupný znak bol použitý tak, že názov súboru môže byť akýkoľvek, ale musí byť .csv súbor.

Po spustení kódu sa vráti .csv súbory z našej Exceldemy adresár.

Praktická časť

Na každom hárku na pravej strane sme pre vás pripravili časť na precvičenie. Prosím, urobte si ju sami.

Záver

To je všetko o dnešnom zasadnutí. A toto je niekoľko jednoduchých príkladov VBA Dir funkcie v programe Excel. Ak máte nejaké otázky alebo návrhy, dajte nám vedieť v časti s komentármi. Pre lepšie pochopenie si stiahnite cvičný hárok. Navštívte našu webovú stránku, Exceldemy , poskytovateľa komplexných riešení programu Excel, aby ste sa dozvedeli o rôznych druhoch metód programu Excel. Ďakujeme za vašu trpezlivosť pri čítaní tohto článku.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.