VBA Odstranit soubor | Jak odstranit soubory ve složce pomocí kódu VBA?

Ve VBA můžeme odstranit jakýkoli soubor přítomný v počítači pomocí kódů VBA a kód, který se používá k odstranění libovolného souboru, se nazývá příkaz Kill, metoda odstranění libovolného souboru je ta první, poskytneme cestu k souboru, což znamená, kde soubor je umístěn v počítači a pak pomocí příkazu Kill soubor odstraníme.

Jak odstranit soubory pomocí kódu VBA?

VBA je na začátku těžká věc, ale jak budete trávit více času s VBA, začnete ji milovat stejně jako já. Můžeme otevírat soubory z jiné složky počítače, můžeme s nimi pracovat a nyní můžeme také mazat soubory pomocí kódování VBA. V tomto článku vám ukážeme, jak můžete mazat soubory pomocí kódu VBA v konkrétní složce.

Když pracujeme s velkými projekty, obvykle vytváříme mnoho mezilehlých souborů, které podporují náš proces. Po dokončení všech prací musíme tyto soubory smazat, abychom v budoucnu předešli jakýmkoli nejasnostem.

A jedním scénářem je, když obvykle dostáváme e-mail, který ukládáme přílohy pro naši běžnou práci, nebo jen chceme zobrazit zprávu za daný okamžik a později možná budeme muset tyto soubory odstranit.

Ruční mazání těchto souborů zabere čas, nebo zapomeneme uložit a zabere to místo v našem počítači. Ukážeme vám, jak tyto soubory odstranit pomocí jednoduchých kódů VBA.

Metoda zabití k odstranění souborů ve složce pomocí kódu VBA

Jednoduchá funkce KILL odstraní složku, konkrétní soubor, všechny soubory aplikace Excel atd. Podívejte se na syntaxi metody KILL ve VBA. Metoda Kill nemůže odstranit soubory jen pro čtení.

Název cesty : cesta není nic jiného než cesta ke složce v počítači k odstranění souborů.

Poznámka: Název cesty může zahrnovat také zástupné znaky. Jako zástupné znaky v Excelu můžeme použít hvězdičku (*) a otazníky (?).

Hvězdička (*) je užitečná, aby odpovídala libovolnému řetězci libovolné délky, i když se uvažuje nula.

Otazník (?) Je užitečný, aby odpovídal pouze jednomu znaku.

Odstranit konkrétní název souboru

Například mám složku jako níže.

V této složce chci smazat soubor s názvem „Soubor 5“. Spusťte kód funkcí KILL.

Kód:

 Sub Delete_Files () Kill (PathName) End Sub 

Zkopírujte a vložte cestu ke složce.

A vložte do uvozovek.

Zabijte soubory „E: \ Excel“

Nyní vložte ještě jedno zpětné lomítko (\) a zadejte název souboru s příponou.

Zabijte "E: \ Excel Files \ File5.xlsx"

Když spustíte tento kód, odstraní se v cestě ke složce soubor s názvem „File 5.xlsx“.

Odstraňte všechny soubory aplikace Excel

Chcete-li odstranit všechny soubory aplikace Excel ve složce pomocí VBA, musíme použít zástupné znaky s funkcí KILL. Po uvedení cesty ke složce musíme zmínit soubor jako „* .xl *“

Kód:

Zabijte "E: \ Excel Files \ *. Xl *"

Když spustíte tento kód, odstraní se všechny soubory aplikace Excel ve složce.

Viděli jsme, jak můžeme odstranit jeden soubor aplikace Excel a všechny soubory aplikace Excel. Ale pokud chceme smazat všechny soubory ve složce, jak to můžeme smazat. Jelikož používáme Excel VBA, může odstranit další soubory?

Odpověď je ano!!! Pomocí níže uvedeného kódu odstraníte všechny soubory ve složce.

Kód:

Zabijte "E: \ Excel Files \ *. *"

Odstranit pouze celou složku

Je možné smazat celou složku samotnou?

Ano, je to možné.

Abychom to mohli udělat, první věc, kterou musíme udělat, je, že musíme odstranit všechny soubory ve složce pomocí funkce KILL, a pak k odstranění složky musíme použít ještě jednu funkci nazvanou RmDir .

Kód:

RmDir "E: \ Soubory Excel \"

Zde RmDir smaže pouze prázdnou složku, pokud je tam nějaká podsložka, nemůže je smazat.

Odstraňte všechny textové soubory ve složce

Chcete-li odstranit všechny textové soubory ve složce, použijte níže uvedený kód.

Kód:

Zabijte „E: \ Excel Files \ *. Txt“

Odstraňte soubory jen pro čtení

Jak jsem řekl, funkce KILL nemůže smazat soubory „jen pro čtení“ ve složce. V takovém případě musíme použít další dvě funkce „Dir $“ a „SetAttr“. Níže je ukázkový kód pro odstranění souborů pouze pro čtení.

Kód:

 Sub Delete_Files1 () Dim DeleteFile As String DeleteFile = "E: \ Excel Files \" If Len (Dir $ (DeleteFile))> 0 Then SetAttr DeleteFile, vbNormal Kill DeleteFile End If End Sub 

Tuto šablonu Excel pro odstranění souboru VBA můžete stáhnout zde - VBA Delete File Excel Template