VBA Delete File | Kako izbrisati datoteke v mapi s kodo VBA?

V VBA lahko z uporabo kod VBA izbrišemo katero koli datoteko, ki je prisotna v računalniku, koda, ki se uporablja za brisanje katere koli datoteke, pa je znana kot ukaz Kill, metoda brisanja katere koli datoteke je ta, da najprej damo pot do datoteke, datoteka se nahaja v računalniku in nato z ukazom Kill datoteko izbrišemo.

Kako izbrisati datoteke s kodo VBA?

VBA je na začetku težka stvar, toda ko boste več časa preživeli z VBA, jo boste začeli imeti radi tako kot mene. Datoteke lahko odpremo iz druge mape v računalniku, lahko delamo z njimi, zdaj pa lahko datoteke tudi izbrišemo s pomočjo kodiranja VBA. V tem članku vam bomo pokazali, kako lahko izbrišete datoteke s kodo VBA v določeni mapi.

Ko delamo z velikimi projekti, običajno ustvarimo veliko vmesnih datotek, ki podpirajo naš proces. Po končanem delu moramo te datoteke izbrisati, da se v prihodnosti izognemo kakršni koli zmedi.

Eden od primerov je, da običajno prejmemo e-pošto, shranimo priloge za redno delo ali pa si samo želimo ogledati poročilo v tistem trenutku, kasneje pa bomo morda morali te datoteke izbrisati.

Če ročno izbrišete te datoteke, bo potreben čas ali pa bomo morda pozabili shraniti in bodo zasedli prostor v našem računalniku. Pokazali vam bomo, kako te datoteke izbrišete s preprostimi kodami VBA.

Kill Method za brisanje datotek v mapi s kodo VBA

Preprosta funkcija KILL bo izbrisala mapo, določeno datoteko, vse datoteke excel itd. Oglejte si sintakso metode KILL v VBA. Način ubijanja ne more izbrisati datotek samo za branje.

Ime poti : ime poti ni nič drugega kot pot do mape v računalniku za brisanje datotek.

Opomba: Ime poti lahko vključuje tudi nadomestne znake. Kot nadomestne znake v Excelu lahko uporabimo zvezdico (*) in vprašaje (?).

Zvezdica (*) je uporabna za ujemanje katerega koli niza katere koli dolžine, tudi če se upošteva nič.

Vprašalnik (?) Je koristen za ujemanje samo enega znaka.

Izbrišite določeno ime datoteke

Na primer, imam mapo, kot je spodaj.

V tej mapi želim izbrisati datoteko z imenom »File 5«. Zaženite kodo s funkcijo KILL.

Koda:

 Sub Delete_Files () Kill (PathName) End Sub 

Kopirajte in prilepite pot do mape.

In prilepite z dvojnimi narekovaji.

Ubijte "E: \ Excel datoteke"

Zdaj postavite še eno poševnico nazaj (\) in vnesite ime datoteke s pripono.

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

Ko zaženete to kodo, bo v omenjeni poti do mape izbrisala datoteko z imenom »File 5.xlsx«.

Izbriši vse Excelove datoteke

Za brisanje vseh datotek excel v mapi z uporabo VBA moramo uporabiti nadomestne znake s funkcijo KILL. Po omembi poti do mape moramo datoteko omeniti kot "* .xl *"

Koda:

Ubijte "E: \ Excel datoteke \ *. Xl *"

Ko zaženete to kodo, s tem izbrišete vse datoteke excel v mapi.

Videli smo, kako lahko izbrišemo eno datoteko excel in vse datoteke excel. Če pa želimo izbrisati vse datoteke v mapi, kako jo lahko izbrišemo. Ker uporabljamo Excel VBA, ali lahko izbriše druge datoteke?

Odgovor je Da !!! S spodnjo kodo izbrišite vse datoteke v mapi.

Koda:

Ubijte "E: \ Excel datoteke \ *. *"

Izbriši samo celotno mapo

Ali je mogoče izbrisati celotno mapo?

Da, mogoče je.

Da bi to naredili, moramo najprej izbrisati vse datoteke v mapi s funkcijo KILL, nato pa za brisanje mape uporabiti še eno funkcijo, imenovano RmDir .

Koda:

RmDir "E: \ Excel datoteke \"

Tu bo RmDir izbrisal samo prazno mapo, če je tam kakšna podmapa, jih ne more izbrisati.

Izbrišite vse besedilne datoteke v mapi

Če želite izbrisati vse besedilne datoteke v mapi, uporabite spodnjo kodo.

Koda:

Ubijte "E: \ Excel datoteke \ *. Txt"

Izbriši datoteke samo za branje

Kot sem rekel, funkcija KILL v mapi ne more izbrisati datotek »Samo za branje«. V takem primeru moramo uporabiti drugi dve funkciji "Dir $" in "SetAttr". Spodaj je primer kode za brisanje tudi datotek samo za branje.

Koda:

 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 

You can download this VBA Delete File Excel Template from here – VBA Delete File Excel Template