kann mir bitte jemand sagen, wie ich in einem bestimmten Ordner alle Dateien ohne weitere Nachfrage löschen kann?
Vielen Dank und Grüße
Gisela
Sub Verzeichnis_leer()
ChDir "C:\Dokumente und Einstellungen\XXX\Desktop\Neue Proben\WWW"
Kill ("C:\Dokumente und Einstellungen\XXX\Desktop\Neue Proben\WWW\*.xls")
End Sub
Sub Verzeichnis_leer()
If Dir("c:\temp\") = Empty Then
Else
ChDir ("C:\temp\")
Kill ("c:\temp\*.*")
End If
End Sub
Sub Verzeichnis_leer()
If Dir("c:\temp\*.xls") = Empty Then
Else
ChDir ("C:\temp\")
Kill ("c:\temp\*.xls")
End If
End Sub
Um alle Dateien in einem bestimmten Ordner mit VBA zu löschen, kannst du folgendes Makro verwenden. Dieses Makro stellt sicher, dass keine Fehlermeldung erscheint, wenn der Ordner leer ist:
Sub Verzeichnis_leer()
If Dir("C:\temp\") <> "" Then
ChDir ("C:\temp\")
Kill ("C:\temp\*.*") ' Alle Dateien löschen
End If
End Sub
Ändere den Pfad "C:\temp\"
zu dem gewünschten Ordner, in dem die Dateien gelöscht werden sollen. Damit werden alle Dateien im angegebenen Verzeichnis gelöscht.
Ein häufiger Fehler ist, dass das Makro eine Fehlermeldung ausgibt, wenn keine Dateien im Ordner vorhanden sind. Um dies zu vermeiden, stelle sicher, dass du die Dir
-Funktion korrekt verwendest:
Eine andere Methode zum Löschen von Dateien in einem Ordner ist die Verwendung des FileSystemObject. Hier ist ein Beispiel:
Public Sub loeschen()
Dim objFSO As Object, objFile As Object
On Error GoTo err_
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objFile In objFSO.GetFolder("D:\Eigene Dateien\Test").Files ' Ordner anpassen!!
objFile.Delete
Next
exit_:
Set objFSO = Nothing
Exit Sub
err_:
MsgBox "Fehler " & CStr(Err.Number) & vbLf & vbLf & Err.Description, 16, "Fehler"
Resume exit_
End Sub
Mit dieser Methode kannst du spezifischere Bedingungen und Fehlerbehandlungen implementieren.
Sub Excel_Dateien_loeschen()
If Dir("C:\temp\*.xls") <> "" Then
ChDir ("C:\temp\")
Kill ("C:\temp\*.xls") ' Nur .xls Dateien löschen
End If
End Sub
Hier kannst du die Logik erweitern, um nur Dateien zu löschen, die älter als ein bestimmtes Datum sind.
On Error Resume Next
vorsichtig, um unerwünschte Fehlermeldungen zu vermeiden.1. Wie kann ich sicherstellen, dass nur bestimmte Dateitypen gelöscht werden?
Du kannst den Filter in der Kill
-Anweisung anpassen, z.B. Kill ("C:\temp\*.txt")
für Textdateien.
2. Was passiert, wenn ich versuche, eine Datei zu löschen, die gerade verwendet wird? In diesem Fall wird eine Fehlermeldung angezeigt. Du kannst eine Fehlerbehandlung implementieren, um dies zu vermeiden.
3. Kann ich das Makro auch für Unterordner verwenden? Ja, du müsstest die Logik erweitern, um durch Unterordner zu iterieren und die Dateien dort zu löschen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen