Funkce VBA DIR | Jak používat funkci Excel VBA DIR?

Funkce DIR aplikace Excel VBA

Funkce VBA DIR je také známá jako adresářová funkce, jedná se o vestavěnou funkci ve VBA, která se používá k poskytnutí názvu souboru daného souboru nebo složky, ale musíme poskytnout cestu k souboru, výstup vrácený tímto Funkce je řetězec, protože vrací název souboru, k této funkci existují dva argumenty, kterými jsou název cesty a atributy.

Funkce DIR vrací úplně první název souboru v zadané cestě ke složce. Například na vaší jednotce D, pokud máte název složky s názvem 2019, a v této složce, pokud excelujete soubor s názvem „2019 Sales“, můžete k tomuto souboru přistupovat pomocí funkce DIR.

Funkce „VBA DIR“ je velmi užitečná při získávání názvu souboru pomocí jeho složky s cestou.

Syntax

Tato funkce má dva volitelné argumenty.

  • [Název cesty]: Jak název napovídá, jaká je cesta k přístupu k souboru. Může to být také název souboru, název složky nebo adresáře. Pokud není přiřazena žádná cesta, vrátím prázdnou hodnotu řetězce, tj. „“
  • [Atributy]: Toto je také volitelný argument a nemusíte jej při kódování používat příliš často. Atribut souboru můžete určit v [Název cesty] a funkce DIR vyhledá pouze tyto soubory.

Například: Pokud chcete přistupovat pouze ke skrytým souborům, chcete-li přistupovat pouze k souborům pouze pro čtení atd. ... můžeme v tomto argumentu určit. Níže jsou atributy, které můžeme použít.

Příklady použití funkce VBA DIR

Tuto šablonu VBA Dir Excel si můžete stáhnout zde - Šablona VBA Dir Excel

Příklad č. 1 - Přístup k názvu souboru pomocí funkce DIR

Vysvětlím vám jednoduchý příklad přístupu k názvu souboru pomocí funkce DIR. Postupujte podle následujících kroků.

Krok 1: Vytvořte název makra.

Krok 2: Definujte proměnnou jako řetězec .

Kód:

 Sub Dir_Example1 () Dim MyFile jako řetězec End Sub 

Krok 3: Nyní této proměnné přiřadíme hodnotu pomocí funkce DIR .

Kód:

 Sub Dir_Example1 () Dim MyFile As String MyFile = Dir (End Sub 

Krok 4: Nyní zkopírujte a vložte cestu ke složce souborů do počítače. Uveďte cestu v uvozovkách.

Kód:

 Sub Dir_Example1 () Dim MyFile jako řetězec MyFile = Dir ("E: \ VBA Šablona End Sub 

Krok 5: Zmínil jsem svou cestu ke složce, nyní musíme zmínit také název souboru a jeho příponu. Abychom to udělali jako první, musíme udělat za cestou zpětné lomítko (\)

Po zadání zpětného lomítka musíme zadat celý název souboru .

Kód:

 Sub Dir_Example1 () Dim MyFile As String MyFile = Dir ("E: \ VBA Template \ VBA Dir Excel Template.xlsm") End Sub 

Krok 6: Zobrazit hodnotu proměnné v okně se zprávou.

Kód:

 Sub Dir_Example1 () Dim MyFile jako řetězec MyFile = Dir ("E: \ VBA Template \ VBA Dir Excel Template.xlsm") MsgBox MyFile End Sub 

Nyní spusťte kód a podívejte se, jaký je výsledek pole se zprávou.

Funkce DIR tedy vrátila název souboru s příponou souboru.

Příklad č. 2 - Otevřete soubor pomocí funkce DIR

Jak nyní soubor otevřete? Tato funkce může vrátit název souboru, ale otevření tohoto souboru je trochu jiný proces. Soubor otevřete následujícím způsobem.

Krok 1: Vytvořte dvě proměnné jako řetězec .

Kód:

 Sub Dir_Example2 () Dim DimerName jako řetězec Dim DimName jako řetězec End Sub 

Krok 2: Nyní pro proměnnou FolderName přiřaďte cestu ke složce.

Kód:

 Sub Dir_Example2 () Ztlumit název složky jako řetězec Ztlumit název souboru jako řetězec Název složky = "E: \ VBA Template \" End Sub 

Krok 3: Nyní pro proměnnou FileName potřebujeme získat název souboru pomocí funkce DIR .

Kód:

 Sub Dir_Example2 () Ztlumit název složky jako řetězec Ztlumit název souboru jako řetězec Název složky = "E: \ VBA Template \" Název souboru = Dir (End Sub 

Krok 4: Nyní jsme pro název cesty již přiřadili cestu k proměnné FolderPath, abychom zde mohli přímo zadat proměnnou.

Kód:

 Sub Dir_Example2 () Ztlumit název složky jako řetězec Ztlumit název souboru jako řetězec Název složky = "E: \ VBA Template \" Název souboru = Dir (název složky End Sub 

Krok 5: Nyní musíme zadat název souboru. Pomocí symbolu ampersand (&) přiřaďte název souboru.

Kód:

 Sub Dir_Example2 () Ztlumit název složky jako řetězec Ztlumit název souboru jako řetězec Název složky = "E: \ VBA Template \" FileName = Dir (Název složky & "VBA Dir Excel Template.xlsm") End Sub 

Krok 6: Nyní použijte metodu WORKBOOKS.OPEN .

Kód:

 Sub Dir_Example2 () Dim FolderName As String Dim FileName As String FolderName = "E: \ VBA Template \" FileName = Dir (FolderName & "VBA Dir Excel Template.xlsm") Workbooks.Open End Sub 

Krok 7: Název souboru je kombinací FolderPath & FileName . Kombinujte tedy tyto dva.

Kód:

 Sub Dir_Example2 () Ztlumit název složky jako řetězec Ztlumit název souboru jako řetězec Název složky = "E: \ VBA Template \" FileName = Dir (Název složky & "VBA Dir Excel Template.xlsm") Workbooks.Open FolderName & FileName End Sub 

Nyní spusťte tento kód a otevře se zmíněný název souboru.

Příklad č. 3 - Otevřete více sešitů pomocí funkce DIR

Ve skutečnosti můžeme přistupovat ke všem sešitům ve složce. Abychom mohli přistupovat ke každému souboru, nemůžeme přímo zmínit všechny názvy souborů, ale k odkazování na soubor můžeme použít zástupný znak.

Hvězdička (*) je jedním z těchto zástupných znaků. Identifikuje libovolný počet znaků. Například pokud chcete získat přístup ke všem souborům maker ve složce, můžete použít hvězdičku jako zástupný znak, tj. „* .Xlsm *“

Zde * bude shoda jakéhokoli názvu souboru s příponou souboru rovna „xlsm“.

Kód:

 Sub Dir_Example3 () Ztlumit název složky jako řetězec Ztlumit název složky jako řetězec Název složky = "E: \ VBA Template \" Název souboru = Dir (Název složky & "* .xlsm *") Proveďte Zatímco Název souboru "" Pracovní sešity. Otevřít Název složky a Název souboru Název souboru = Dir ( ) Loop End Sub 

Nyní výše uvedený kód otevře všechny soubory v cestě ke složce.

FileName = Dir () důvod, proč jsem použil tento řádek, protože pro přístup k dalšímu souboru ve složce musíme stávající název souboru upravit na nulu. V okamžiku, kdy stávající název souboru nastavíme na nulu, když smyčka běží podruhé, bude trvat další soubor ve složce.

Příklad č. 4 - Získejte všechny názvy souborů ve složce

Předpokládejme, že pokud chcete seznam všech názvů souborů ve složce, můžeme to udělat také pomocí atributů.

Kód:

 Sub Dir_Example4 () Dim FileName jako String FileName = Dir ("E: \ VBA Template \", vbDirectory) Do While FileName "" Debug.Print FileName FileName = Dir () Loop End Sub 

Okamžité okno zviditelníte stisknutím Ctrl + G.

Nyní spusťte kód, v přímém okně dostaneme všechny názvy souborů.


$config[zx-auto] not found$config[zx-overlay] not found