Gespeicherte PDF-Datei in Excel löschen
Schritt-für-Schritt-Anleitung
Um eine PDF-Datei zu löschen, die Du mit Excel erstellt hast, kannst Du folgenden VBA-Code verwenden. Füge ihn am Ende Deines bestehenden Codes ein, um die PDF-Datei nach dem Versenden zu löschen:
Kill pdfName
Dieser Befehl entfernt die PDF-Datei aus dem angegebenen Verzeichnis. Stelle sicher, dass Du den richtigen Pfad und den Dateinamen in der Variablen pdfName
speicherst, bevor Du den Kill
-Befehl aufrufst. Der vollständige Code könnte wie folgt aussehen:
Option Explicit
Sub Als_PDF_speichern_versenden()
Dim pdfName As String
Dim pdfOpenAfterPublish As Boolean
Dim olApp As Object
Dim sPath As String
pdfOpenAfterPublish = True ' PDF wird geöffnet
' Pfad und Name der PDF-Datei
With Sheets("Drucken")
pdfName = "H:\Test\Gesperrte Ware\" & "Gesperrte Ware " & Format(Date - 1, "dddd dd mmmm yyyy") & ".pdf"
End With
' PDF-Datei erstellen
Sheets("Drucken").ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)
' Email erstellen
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.To = Range("D200").Value
.CC = Range("D201") & ";" & Range("D202") & ";" & Range("D203") & ";" & Range("D204") & ";" & Range("D205") & ";" & Range("D206") & ";" & Range("D207") & ";" & Range("D208") & ";" & Range("D209") & ";" & Range("D210") & ";" & Range("D211") & ";" & Range("D212") & ";" & Range("D213") & ";" & Range("D214")
.Subject = "Gesperrte Ware " & Sheets("Drucken").Range("B1").Value
.HTMLBody = "Mit freundlichen Grüßen"
.Attachments.Add pdfName
.Display
End With
' PDF löschen
Kill pdfName
End Sub
Häufige Fehler und Lösungen
-
Die Datei wird gelöscht, bevor sie versendet wird: Stelle sicher, dass der Kill
-Befehl nach dem .Display
-Befehl kommt, um sicherzustellen, dass die PDF-Datei als Anhang an die E-Mail angehängt ist, bevor sie gelöscht wird.
-
Dateiname nicht konstant: Wenn der Dateiname jeden Tag anders ist, stelle sicher, dass Du den vollständigen Dateinamen in der Variable pdfName
speicherst und diesen dann im Kill
-Befehl verwendest.
Alternative Methoden
Falls Du die PDF-Dateien manuell löschen möchtest, kannst Du auch eine einfache Datei-Explorer-Aktion durchführen:
- Öffne den Datei-Explorer und navigiere zu dem Ordner, in dem die PDFs gespeichert sind.
- Wähle die gewünschten PDF-Dateien aus und drücke die Entf-Taste, um sie zu löschen.
Alternativ kannst Du auch ein Skript schreiben, das alle PDF-Dateien in einem bestimmten Verzeichnis löscht, wenn Du regelmäßig aufräumen möchtest.
Praktische Beispiele
Hier sind einige Beispiele, wie Du PDF-Dateien in Excel erstellen und anschließend löschen kannst:
-
Tägliche Berichterstattung: Wenn Du jeden Tag einen Bericht erstellst und als PDF speicherst, kannst Du den oben angegebenen Code verwenden, um die PDFs automatisch nach dem Versenden zu löschen.
-
Monatliche Reporte: Ändere den Dateinamen so, dass er das aktuelle Datum oder den Monat enthält, z.B. "Report_YYYY_MM.pdf", und speichere die Dateien in einem spezifischen Ordner.
Tipps für Profis
- Automatisierung: Setze die PDF-Erstellung und das Versenden von E-Mails als Teil Deines täglichen Arbeitsablaufs ein, um Zeit zu sparen.
- Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen im VBA-Skript, um sicherzustellen, dass Dein Makro auch bei Problemen mit dem Versenden oder Löschen von PDFs robust bleibt.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass die PDF-Datei in Outlook ankommt?
Stelle sicher, dass Du die .Display
-Methode verwendest, um die E-Mail vor dem Senden anzuzeigen. So kannst Du überprüfen, ob die PDF korrekt angehängt ist.
2. Was passiert, wenn die PDF-Datei nicht gelöscht wird?
Die Datei bleibt im Speicherort und kann manuell gelöscht werden. Wenn Du viele Dateien hast, kann dies schnell unübersichtlich werden. Verwende den Kill
-Befehl, um die PDF-Dateien automatisch zu löschen.
3. Kann ich mehrere PDF-Dateien gleichzeitig löschen?
Ja, Du kannst eine Schleife verwenden, um alle PDF-Dateien in einem bestimmten Verzeichnis zu durchlaufen und sie mit dem Kill
-Befehl zu löschen.