Hoe een bestand verwijderen met vba in excel?
Om een Excel-bestand uit een map te verwijderen, kunt u twee verschillende methoden gebruiken. De eerste methode is de instructie “Kill”, waarbij het bestandspad verwijst naar het bestand dat u wilt verwijderen. De tweede methode is het FileSystemObject-object dat een bijbehorende methode heeft voor het verwijderen van een bestand.
Om deze codes te gebruiken, gaat u naar de VBE (Code Editor) vanaf het tabblad Ontwikkelaar.
Een bestand verwijderen met VBA (Kill-functie)
Met de Kill-functie kunt u een enkel bestand of meerdere bestanden verwijderen en jokertekens gebruiken om meerdere bestanden te verwijderen. Hieronder staat de code van één regel die het bestand verwijdert uit de map die ik op het bureaublad heb.
Kill "C:UsersDellDesktopSample Datafile-one.xlsx"

Deze code laat een foutmelding zien als de werkmap die u wilt verwijderen niet bestaat.
Handige links: Een macro uitvoeren – Macrorecorder – Visual Basic Editor – Handboek voor persoonlijke macro’s
Verwijder alle bestanden in een map met VBA
En als u alle bestanden in een map wilt verwijderen, kunt u een jokerteken gebruiken.
Kill "C:UsersDellDesktopSample Data*.xl*"

Een bestand verwijderen met FileSystemObject (Object)
Met het bestandssysteemobject krijgt u toegang tot het bestandssysteem van de computer. U kunt hier meer over leren, maar laten we nu een code schrijven om een bestand te verwijderen.
- Eerst moet u de variabelen die u in de code wilt gebruiken, declareren als Binder en FileSystemObject.
- Gebruik daarna de functie object maken om het FileSystemObject terug te geven door het toe te wijzen aan de FSO-variabele.
- Wijs vervolgens het pad toe aan de variabele “myFile” om naar het bestand te navigeren dat u wilt verwijderen.
- Gebruik aan het einde de “DeleteFile” -methode (zie dit) om het bestand te verwijderen.
Volledige code
Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" FSO.DeleteFile myFile, True End Sub
Stel dat u code moet schrijven die een bestand kan controleren (bestaat of niet) en het vervolgens kan verwijderen. Hier is de code die je nodig hebt.
Sub vba_delete_file() Dim FSO Dim myFile As String Set FSO = CreateObject("Scripting.FileSystemObject") myFile = "C:UsersDellDesktopSample Datafile1.xlsx" If FSO.FileExists(myFile) Then FSO.DeleteFile myFile, True MsgBox "Deleted" Else MsgBox "There's no workbook with this name." End If End Sub