Obsah
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.