Wie lösche ich eine datei mit vba in excel?
Um eine Excel-Datei aus einem Ordner zu löschen, können Sie zwei verschiedene Methoden verwenden. Die erste Methode ist die „Kill“-Anweisung, die den Dateipfad verwendet, um auf die Datei zu verweisen, die Sie löschen möchten. Die zweite Methode ist das FileSystemObject-Objekt, dem eine Methode zum Löschen einer Datei zugeordnet ist.
Um diese Codes zu verwenden, gehen Sie auf der Registerkarte „Entwickler“ zum VBE (Code-Editor).
Eine Datei mit VBA löschen (Kill-Funktion)
Mit der Kill-Funktion können Sie eine einzelne Datei oder mehrere Dateien löschen und Platzhalter verwenden, um mehrere Dateien zu löschen. Unten ist der einzeilige Code, der die Datei aus dem Ordner löscht, den ich auf dem Desktop habe.
Kill "C:UsersDellDesktopSample Datafile-one.xlsx"
Dieser Code zeigt Ihnen einen Fehler an, wenn die Arbeitsmappe, die Sie zum Löschen angegeben haben, nicht vorhanden ist.
Nützliche Links: Ausführen eines Makros – Makrorecorder – Visual Basic Editor – Handbuch zu persönlichen Makros
Löschen Sie alle Dateien in einem Ordner mit VBA
Und wenn Sie alle Dateien in einem Ordner löschen möchten, können Sie einen Platzhalter verwenden.
Kill "C:UsersDellDesktopSample Data*.xl*"
Löschen Sie eine Datei mit FileSystemObject (Object)
Das Dateisystemobjekt ermöglicht Ihnen den Zugriff auf das Dateisystem des Computers. Hier können Sie mehr erfahren, aber jetzt schreiben wir einen Code zum Löschen einer Datei.
- Zuerst müssen Sie die im Code zu verwendenden Variablen als Binder und FileSystemObject deklarieren.
- Anschließend verwenden Sie die Funktion „Objekt erstellen“, um das FileSystemObject zurückzugeben, indem Sie es der FSO-Variablen zuweisen.
- Weisen Sie als Nächstes der Variablen „myFile“ den Pfad zu, um zu der Datei zu navigieren, die Sie löschen möchten.
- Am Ende verwenden Sie die Methode „DeleteFile“ (siehe hier), um die Datei zu löschen.
Vollständiger 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
Nehmen wir an, Sie müssen Code schreiben, der eine Datei überprüfen kann (existiert oder nicht) und sie dann löschen kann. Hier ist der Code, den Sie benötigen.
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