VBA Radera fil

I VBA kan vi ta bort alla filer som finns i datorn med VBA-koder och koden som används för att radera en fil kallas Kill-kommandot, metoden för att radera en fil är den första, vi tillhandahåller sökvägen till filen vilket betyder var filen finns i datorn och sedan använder vi kommandot Kill för att radera filen.

Hur tar jag bort filer med VBA-kod?

VBA är det tuffaste i början men när du tillbringar mer tid med VBA kommer du att börja älska det precis som jag. Vi kan öppna filer från en annan mapp på en dator, vi kan arbeta med dem, och nu kan vi också ta bort filer med hjälp av VBA-kodning. I den här artikeln visar vi dig hur du kan radera filer med VBA-kod i den specifika mappen.

När vi arbetar med stora projekt skapar vi vanligtvis många mellanfiler för att stödja vår process. När allt arbete är klart måste vi ta bort dessa filer för att undvika förvirring i framtiden.

Och ett scenario är när vi vanligtvis får ett e-postmeddelande, vi sparar bilagor för vårt vanliga arbete eller vi vill bara se rapporten för den tidpunkten och senare kan vi behöva ta bort dessa filer.

Om du tar bort dessa filer manuellt tar det tid eller vi kan glömma att spara och det tar plats på vår dator. Vi visar dig hur du tar bort dessa filer med enkla VBA-koder.

Döda metod för att radera filer i en mapp med VBA-kod

En enkel KILL-funktion tar bort mappen, den specifika filen, alla excel-filer etc. Ta en titt på syntaxen för KILL-metoden i VBA. Kill-metoden kan inte ta bort skrivskyddade filer.

Sökväg : sökväg är inget annat än mappsökvägen i datorn för att radera filerna.

Obs! Sökvägen kan också innehålla jokertecken. Vi kan använda en asterisk (*) och frågetecken (?) Som jokertecken i Excel.

Asterisk (*) är användbar för att matcha alla strängar av vilken längd som till och med noll anses.

Frågetecken (?) Är användbart för att endast matcha ett enda tecken.

Ta bort särskilt filnamn

Till exempel har jag en mapp som nedan.

I den här mappen vill jag ta bort filen som heter "File 5". Starta koden med KILL-funktionen.

Koda:

 Sub Delete_Files () Döda (PathName) End Sub 

Kopiera och klistra in mappvägen.

Och klistra in dubbla citat.

Döda "E: \ Excel-filer"

Sätt nu ett bakåt snedstreck (\) och ange filnamnet med tillägget.

Döda "E: \ Excel Files \ File5.xlsx"

När du kör den här koden kommer den att ta bort filen som heter "File 5.xlsx" i den nämnda mappvägen.

Ta bort alla Excel-filer

För att radera alla excel-filer i mappen med VBA måste vi använda jokertecken med KILL-funktionen. Efter att ha nämnt mappvägen måste vi nämna filen som "* .xl *"

Koda:

Döda "E: \ Excel Files \ *. Xl *"

När du kör den här koden raderas alla excel-filer i mappen.

Vi har sett hur vi kan ta bort en enda Excel-fil och alla Excel-filer. Men om vi vill ta bort alla filer i mappen, hur kan vi radera den? Eftersom vi använder Excel VBA, kan det ta bort andra filer?

Svaret är ja!!! Använd koden nedan för att radera alla filer i mappen.

Koda:

Döda "E: \ Excel Files \ *. *"

Ta bort endast hela mappen

Är det möjligt att ta bort hela mappen själv?

Ja det är möjligt.

För att göra detta är det första vi behöver göra att vi måste ta bort alla filer i mappen med hjälp av KILL-funktionen, och sedan för att radera mappen måste vi använda en ytterligare funktion som heter RmDir .

Koda:

RmDir "E: \ Excel Files \"

Här tar RmDir bara bort den tomma mappen, om någon undermapp finns där kan den inte ta bort dem.

Ta bort alla textfiler i mappen

För att radera alla textfiler i mappen använder du koden nedan.

Koda:

Döda "E: \ Excel Files \ *. Txt"

Ta bort skrivskyddade filer

Som jag sa KILL-funktionen kan inte ta bort “Read Only” -filer i mappen. I ett sådant fall måste vi använda de andra två funktionerna "Dir $" & "SetAttr" -funktioner. Nedan följer exempelkoden för att ta bort de skrivskyddade filerna också.

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