Excel VBA: Zkontrolujte, zda soubor existuje, nebo ne

  • Sdílet Toto
Hugh West

Jedno z nejvýhodnějších použití aplikace Excel VBA v našem každodenním životě je, že můžeme zkontrolovat, zda soubor na našem počítači existuje, nebo ne. V tomto článku vám ukážu, jak můžete zkontrolovat, zda soubor na našem počítači existuje, nebo ne, pomocí aplikace Excel. VBA .

Kód VBA pro kontrolu existence nebo neexistence souboru (rychlé zobrazení)

 Sub Check_If_a_File_Exists() File_Name = "E:\ExcelWIKI\Book1.xlsm" File_Name = Dir(File_Name) If File_Name = "" Then MsgBox "Soubor neexistuje." Else MsgBox "Soubor existuje." End If End Sub 

Stáhnout cvičebnici

Stáhněte si tento cvičební sešit a procvičujte si při čtení tohoto článku.

Kontrola VBA, zda soubor existuje.xlsm

Přehled kódu VBA pro kontrolu existence či neexistence souboru (analýza krok za krokem)

Takže bez dalšího zdržování přejděme k naší dnešní hlavní diskusi. Rozebereme si VBA kód krok za krokem, abyste se naučili, jak zkontrolovat, zda soubor v našem počítači existuje či nikoli.

⧪ Krok 1: Vložení potřebných vstupů

Hned na začátku kódu do něj musíme vložit potřebný vstup. V tomto kódu je vyžadován pouze jeden vstup, a to název souboru, který hledáme. Vložte celý název souboru (Spolu s přidruženým adresářem).

 Název_souboru = "C:\ExcelWIKI\Book1.xlsm" 

⧪ Krok 2: Extrakce názvu souboru pomocí funkce VBA Dir

Dále použijeme malý trik. Použijeme příkaz VBA Funkce Dir k extrakci názvu souboru. Pokud takový soubor neexistuje. Funkce Dir vrátí nulový řetězec.

 Název_souboru = Dir(Název_souboru) 

⧪ Krok 3: Kontrola existence souboru pomocí bloku if

Toto je nejdůležitější krok. Již dříve jsme si řekli, že pokud žádný soubor daného jména neexistuje, funkce Dir vrátí nulový řetězec. Tuto vlastnost použijeme v rámci funkce If-block zkontrolovat, zda soubor existuje, nebo ne.

 If File_Name = "" Then MsgBox "Soubor neexistuje." Else MsgBox "Soubor existuje." End If 

Takže kompletní VBA kód bude:

Kód VBA:

 Sub Check_If_a_File_Exists() File_Name = "E:\ExcelWIKI\Book1.xlsm" File_Name = Dir(File_Name) If File_Name = "" Then MsgBox "Soubor neexistuje." Else MsgBox "Soubor existuje." End If End Sub 

Výstup:

Spusťte kód. Na mém počítači se zobrazí okno se zprávou, "Soubor existuje" , protože v mém počítači skutečně existuje.

Na vašem počítači se výstup může lišit v závislosti na tom, zda soubor existuje, nebo ne.

Přečtěte si více: Excel VBA: Kontrola existence listu (2 jednoduché metody)

Vývoj makra pro kontrolu existence nebo neexistence rozsahu souborů pomocí aplikace Excel VBA

Zde máme soubor dat v listu aplikace Excel, který obsahuje názvy některých souborů spolu s adresáři v rozsahu B4:B8 .

Naším cílem je vyvinout makro, které bude psát Existuje / Neexistuje vedle každého z nich po kontrole, zda v počítači existují či nikoli.

⧪ Krok 1: Otevření okna VBA

Tisk ALT + F11 na klávesnici, abyste otevřeli Visual Basic okno.

⧪ Krok 2: Vložení nového modulu

Přejít na Vložit> Modul na panelu nástrojů. Klikněte na Modul . Nový modul s názvem Modul1 (nebo cokoli jiného v závislosti na vaší historii).

⧪ Krok 3: Vložení kódu VBA

Toto je nejdůležitější krok. Vložte následující údaje. VBA kód v modulu.

Kód VBA:

 Sub Check_If_a_Range_of_File_Exist() Set Rng = ActiveSheet.Range("B4:B8") For i = 1 To Rng.Rows.Count File_Name = Dir(Rng.Cells(i, 1)) If File_Name = "" Then Rng.Cells(i, 2) = "Doesn't Exist" Else Rng.Cells(i, 2) = "Exists" End If Next i End Sub 

⧪ Krok 5: Spuštění kódu

Klikněte na Run Sub / UserForm z panelu nástrojů nahoře.

Kód se spustí. A zobrazí se. "Existuje" pro existující soubory a "Neexistuje" pro neexistující soubory.

Přečtěte si více: Jak zkontrolovat, zda hodnota existuje v rozsahu v aplikaci Excel (8 způsobů)

Závěr

Proto se jedná o proces vývoje Makro odeslat e-mail z aplikace Excel s přílohou. Máte nějaké dotazy? Neváhejte se nás zeptat. A nezapomeňte navštívit naše stránky. ExcelWIKI pro další příspěvky a aktualizace.

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.