VBA-bestand verwijderen

In VBA kunnen we elk bestand op de computer verwijderen met behulp van VBA-codes en de code die wordt gebruikt om een ​​bestand te verwijderen, staat bekend als Kill-opdracht, de methode om een ​​bestand te verwijderen is die eerste, we geven het pad van het bestand op, wat betekent waar het bestand bevindt zich op de computer en vervolgens gebruiken we de opdracht Kill om het bestand te verwijderen.

Hoe bestanden te verwijderen met VBA-code?

VBA is in het begin het moeilijke, maar naarmate je meer tijd met VBA doorbrengt, zul je er net als ik van gaan houden. We kunnen bestanden openen vanuit een andere map van een computer, we kunnen ermee werken en nu kunnen we ook bestanden verwijderen door VBA-codering te gebruiken. In dit artikel laten we u zien hoe u bestanden kunt verwijderen met VBA-code in de specifieke map.

Als we met grote projecten werken, maken we meestal veel tussenbestanden om ons proces te ondersteunen. Nadat al het werk is gedaan, moeten we die bestanden verwijderen om verwarring in de toekomst te voorkomen.

En een scenario is wanneer we gewoonlijk een e-mail ontvangen, we bijlagen opslaan voor ons normale werk of we willen gewoon het rapport voor dat tijdstip zien en later moeten we die bestanden mogelijk verwijderen.

Het handmatig verwijderen van die bestanden zal even duren, of we vergeten ze op te slaan en het neemt de ruimte op onze computer in beslag. We laten u zien hoe u die bestanden kunt verwijderen met eenvoudige VBA-codes.

Kill-methode om bestanden in een map te verwijderen met VBA-code

Een eenvoudige KILL-functie verwijdert de map, het specifieke bestand, alle Excel-bestanden, enz. Bekijk de syntaxis van de KILL-methode in VBA. Kill-methode kan geen alleen-lezen bestanden verwijderen.

Padnaam: padnaam is niets anders dan het mappad op de computer om de bestanden te verwijderen.

Opmerking: de padnaam kan ook jokertekens bevatten. We kunnen een asterisk (*) en vraagtekens (?) Gebruiken als jokertekens in Excel.

Asterisk (*) is handig om elke string van elke lengte te matchen, zelfs als nul wordt beschouwd.

Vraagteken (?) Is handig om slechts één teken te matchen.

Verwijder een bepaalde bestandsnaam

Ik heb bijvoorbeeld een map zoals hieronder.

In deze map wil ik het bestand met de naam "Bestand 5" verwijderen. Start de code met de KILL-functie.

Code:

 Sub Delete_Files () Kill (PathName) End Sub 

Kopieer en plak het mappad.

En plak tussen dubbele aanhalingstekens.

Dood "E: \ Excel Files"

Plaats nu nog een schuine streep (\) en voer de bestandsnaam met extensie in.

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

Als u deze code uitvoert, wordt het bestand met de naam "File 5.xlsx" in het genoemde mappad verwijderd.

Verwijder alle Excel-bestanden

Om alle Excel-bestanden in de map te verwijderen met VBA, moeten we jokertekens gebruiken met de KILL-functie. Nadat we het mappad hebben vermeld, moeten we het bestand vermelden als "* .xl *"

Code:

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

Als u deze code uitvoert, worden alle Excel-bestanden in de map verwijderd.

We hebben gezien hoe we een enkel Excel-bestand en alle Excel-bestanden kunnen verwijderen. Maar als we alle bestanden in de map willen verwijderen, hoe kunnen we deze dan verwijderen. Kan het, aangezien we Excel VBA gebruiken, andere bestanden verwijderen?

Het antwoord is ja!!! Gebruik de onderstaande code om alle bestanden in de map te verwijderen.

Code:

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

Verwijder alleen de hele map

Is het mogelijk om de hele map zelf te verwijderen?

Ja, het is mogelijk.

Om dit te doen, moeten we eerst alle bestanden in de map verwijderen met de KILL-functie, en om de map te verwijderen, moeten we nog een functie gebruiken genaamd RmDir .

Code:

RmDir "E: \ Excel Files \"

Hier zal RmDir alleen de lege map verwijderen, als er een submap is, kan deze deze niet verwijderen.

Verwijder alle tekstbestanden in de map

Gebruik de onderstaande code om alle tekstbestanden in de map te verwijderen.

Code:

Dood "E: \ Excel Files \ *. Txt"

Verwijder alleen-lezen bestanden

Zoals ik al zei, kan de KILL-functie geen "Alleen-lezen" -bestanden in de map verwijderen. In dat geval moeten we de andere twee functies "Dir $" & "SetAttr" -functies gebruiken. Hieronder staat de voorbeeldcode om ook de alleen-lezen bestanden te verwijderen.

Code:

 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