Funkce Excel VBA DIR

Dir je jednou z funkcí dostupných ve VBA. Dir funkce je pro odkazování adresářů v kódu VBA.
Funkce, která vrací název souboru nebo adresáře, který odpovídá danému atributu nebo řetězci, jinak vrací první soubor nebo složku. Zjednodušeně řečeno, pokud máme složku ABC a uvnitř ABC je soubor XYZ, můžeme k souboru XYZ přistupovat pomocí funkce DIR ve VBA.

Vzorec pro funkci DIR v Excelu VBA

Funkce DIR má v Excel VBA následující syntaxi:

Má dvě části: Pathname a Atributes.

  • Cesta: Podle jména může každý pochopit, že jde o cestu k souboru, kde soubor skutečně existuje. Pokud do cesty nezadáme žádnou cestu, vrátí prázdný řetězec.
  • Atribut: Jedná se o volitelný argument, který z velké části nevyužíváme. Můžeme to použít, když chceme otevřít soubor s níže uvedenými atributy, pak VBA hledá tyto soubory.
vbArchiveUrčuje archivy nebo záložní soubory.
vbNormalNormální (výchozí) nebo žádné atributy.
vbReadOnlysoubory jen pro čtení
vbSystemSystémové soubory
vbVolumeobjemový štítek; Pokud s tímto atributem použijete jiný atribut, bude označení svazku ignorováno.
vbDirectoryAdresáře nebo složky.
vbHiddenskryté soubory
vbAliasNázev souboru je alias

Jak používat funkci DIR v aplikaci Excel VBA?

Níže jsou uvedeny různé příklady použití funkce DIR v Excelu pomocí kódu VBA.

Tuto šablonu VBA DIR Excel si můžete stáhnout zde - VBA DIR Excel Excel

Funkce VBA DIR - Příklad č. 1

V tomto příkladu uvidíme, jak získat přístup k názvu souboru pomocí funkce DIR ve VBA.

Krok 1: Přejděte na kartu Vývojáři a klikněte na Visual Basic

Krok 2: Otevřete modul z nabídky Vložit, jak je ukázáno níže.

Krok 3: Chcete-li spustit jakékoli makro, nejprve musíme makro pojmenovat pomocí klíčového slova „sub“, jak je uvedeno níže.

Kód:

 Sub myexample1 () End Sub 

Pamatujte, že když zadáme „sub myexample ()“, zapíšeme náš kód do „Module1“, automaticky se objeví „End sub“.

Krok 4: Definujte řetězec pomocí klíčového slova „ Dim “, které odkazuje na dimenzi. Na níže uvedeném snímku je „mystring“ název řetězce.

Kód:

 Sub myexample1 () Dim mystring jako String End Sub 

Nezapomeňte, že při definování názvů datových typů nebo názvů programů by mezi dvěma slovy neměla být mezera. „Mystring“ mezi mezerami „my“ a „string“ není mezera.

Soubor je k dispozici ve vzorové složce, která je k dispozici na ploše, a název souboru je „KT tracker mine“.

C: \ Users \ cba_13 \ Desktop \ Sample \

Krok 5: Nyní musíme uložit název souboru do „mystring“ pomocí funkce Dir.

Kód:

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

Ve výše uvedeném snímku ve funkci Dir jsem uvedl cestu k souboru bez názvu souboru. Protože existuje pouze jeden soubor, vrátí název souboru.

Krok 6: Nyní s výše uvedeným krokem název souboru uložený v řetězci „mystring“. Chcete-li zobrazit název souboru, musíme jej zobrazit pomocí okna se zprávou. Vytvořte okno se zprávou.

Kód:

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

Dali jsme pokyn k zobrazení dat v okně „mystring“ prostřednictvím zprávy, protože „mystring“ má název souboru, zobrazí název souboru v okně zprávy.

Krok 7: Nyní spusťte kód kliknutím na tlačítko Přehrát nebo stisknutím klávesy F5.

Funkce VBA DIR - Příklad č. 2

V tomto příkladu uvidíme, jak otevřít soubor pomocí funkce DIR v Excel VBA.

Krok 1: Otevřete obrazovku s kódem VBA a začněte zadáním názvu programu jako „example2“ nebo libovolného jména, které si přejete.

Kód:

 Subpriklad2 () Konec Sub 

Krok 2: Definujte dva řetězce s názvem „Foldername“ a „Filename“.

Kód:

 Sub example2 () Dim Název složky jako řetězec Dim Název souboru jako řetězec End Sub 

Krok 3: Nyní k názvu složky přiřaďte cestu ke složce.

Kód:

 Sub example2 () Dim Název složky jako řetězec Dim Název souboru jako řetězec Název složky = "C: \ Users \ cba_13 \ Desktop \ Sample \" End Sub 

Krok 4: Pomocí funkce Dir přiřaďte soubor k „názvu souboru“. Zde jsme použili proměnnou „Foldername“, protože má cestu ke složce. S pomocí ampersandu jsme do cesty přidali název souboru.

Kód:

 Sub example2 () Dim Název složky jako řetězec Dim Název souboru jako řetězec Název složky = "C: \ Users \ cba_13 \ Desktop \ Sample \" Filename = Dir (Název složky a "KT Tracker mine.xlsx") End Sub 

Funkce Dir nyní vrátí název souboru a uloží se do proměnné „filename“.

Krok 5: V předchozím příkladu jsme použili okno zprávy, abychom viděli výsledky. V tom však chceme soubor otevřít, takže použijeme příkaz „workbooks.open“.

Kód:

 Sub example2 () Dim Název složky jako řetězec Dim Název souboru jako řetězec Název složky = "C: \ Users \ cba_13 \ Desktop \ Sample \" Filename = Dir (Název složky a "KT Tracker mine.xlsx") Workbooks.Open Foldername & Filename End Sub Sub 

Krok 6: Spusťte výše uvedený kód a otevře soubor dostupný ve složce „C: \ Users \ cba_13 \ Desktop \ Sample \“ s názvem souboru „KT Tracker mine“.

Funkce VBA DIR - Příklad č. 3

Nyní uvidíme program, abychom věděli, zda je složka k dispozici nebo ne. Mám složku „Data“, jak je ukázáno níže.

Musíme pomocí funkce Dir zkontrolovat, zda je na cestě C: \ Users \ cba_13 \ Desktop \ Sample \ k dispozici složka „Data“.

Krok 1: Vytvořte název programu a definujte dva řetězce s názvy FD a FD1.

Kód:

 Příklad 3 () Dim Fd jako řetězec Dim Fd1 jako konec řetězce Sub 

Krok 2: Přiřaďte cestu ke složce k proměnné „Fd“.

Kód:

 Subpriklad3 () Dim Fd jako řetězec Dim Fd1 jako řetězec Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" End Sub 

Krok 3: Nyní pomocí funkce Dir vraťte název složky, jak je uvedeno níže.

Kód:

 Subpriklad3 () Dim Fd jako řetězec Dim Fd1 jako řetězec Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) End Sub 

Výsledkem funkce Dir by měl být název složky a bude uložen v řetězcové proměnné Fd1. Pokud složka „Data“ není v příslušné složce k dispozici, nevrací žádný řetězec.

Krok 4: Nyní musíme zkontrolovat, zda má Fd1 složku „Data“ nebo ne. Pomocí podmínky IF zkontrolujte, zda má Fd1 řetězec „Data“ nebo ne. Pokud je k dispozici, vytiskněte příkaz jako „existuje“.

Kód:

 Subpriklad3 () Dim Fd jako řetězec Dim Fd1 jako řetězec Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Pokud Fd1 = "Data", pak MsgBox ("Exits") End Sub 

Krok 5: V případě, že se Fd1 neshoduje se složkou „Data“, vytiskne příkaz „Not Exists“ v jiném stavu.

Kód:

 Subpriklad3 () Dim Fd jako řetězec Dim Fd1 jako řetězec Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Pokud Fd1 = "Data", pak MsgBox ("Exits") Else MsgBox („Not Exits“) End Sub 

Krok 6: Ukončete smyčku „If“, jak je ukázáno na obrázku níže.

Kód:

 Subpriklad3 () Dim Fd jako řetězec Dim Fd1 jako řetězec Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) Pokud Fd1 = "Data", pak MsgBox ("Exits") Else MsgBox ("Not Exits") End If End Sub 

Krok 7: Spusťte kód stisknutím klávesy F5 nebo kliknutím na tlačítko Přehrát a zkontrolujte, zda je složka k dispozici nebo ne. Pokud je v této složce k dispozici složka „Data“, vrátí se v ní okno se zprávou „Existuje“, jak je uvedeno níže.

Krok 8: Stačí změnit název složky jako Data1.

 Sub example3 () Dim Fd jako řetězec Dim Fd1 jako řetězec Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) Pokud Fd1 = "Data", pak MsgBox ("Exits") Else MsgBox ("Not Exits") End If End Sub 

Krok 9: Spusťte kód znovu. Nyní je výsledkem „Neexistuje“, jak je uvedeno níže.

Co si pamatovat

  • Argumenty ve funkci Dir jsou volitelné.
  • Pokud chceme skryté soubory, složky nebo různé typy adresářů, pak v druhém argumentu uveďte svůj požadavek.
  • Pomocí "\" na konci názvu složky přejděte do složky pomocí funkce Dir.
  • Pokud chceme zavolat nebo otevřít více souborů, můžeme použít zástupný znak „*“ nebo „?“.

Doporučené články

Toto je průvodce funkcí VBA DIR. Zde diskutujeme o tom, jak používat funkci DIR v Excelu VBA, spolu s několika praktickými příklady a šablonou Excel ke stažení. Můžete si také prohlédnout naše další doporučené články -

  1. Sešit VBA
  2. NEPRIAME Funkce v Excelu
  3. Počet VBA
  4. Funkce Excel XOR

Kategorie: