VBA für das Drucken von Excel in PDF
Schritt-für-Schritt-Anleitung
Um einen Range-Bereich in Excel mit VBA in ein PDF zu drucken, kannst Du folgenden Code verwenden. Dieser nutzt die Methode .ExportAsFixedFormat, um die Datei zu erstellen.
With ThisWorkbook.Worksheets("Bekanntmachung")
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & "Bekanntmachung_" & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End With
Wenn Du eine schnellere Erstellung der PDF-Datei möchtest, kannst Du auch die .PrintOut-Methode verwenden, jedoch gibt es hierbei oft Probleme mit der Dateikompatibilität. Hier ein Beispiel, wie das geht:
ThisWorkbook.Worksheets("Bekanntmachung").PrintOut PrToFileName:=ThisWorkbook.Path & "\" & "Bekanntmachung_" & ".pdf"
Stelle sicher, dass Du den richtigen Drucker (in diesem Fall PDF24) eingestellt hast.
Häufige Fehler und Lösungen
-
PDF-Datei wird nicht geöffnet oder ist beschädigt: Dieser Fehler tritt häufig auf, wenn der Drucker nicht korrekt konfiguriert ist. Überprüfe die Einstellungen im Drucker und stelle sicher, dass der PDF24-Drucker als Standarddrucker festgelegt ist.
-
Dauer des Druckvorgangs: Wenn das Erstellen der PDF-Datei zu lange dauert, kann dies an der Seitenformatierung liegen. Überprüfe die PageSetup-Einstellungen:
With ThisWorkbook.Worksheets("Bekanntmachung").PageSetup
.PrintArea = "B1:H81"
.Orientation = xlPortrait
.FitToPagesWide = 1
End With
Alternative Methoden
Eine alternative Methode, um Excel in PDF zu drucken, ist die Verwendung von PDF-Drucksoftware wie PDF24. Du kannst prüfen, ob ein Update oder eine Neuinstallation des Druckers nötig ist, um die pdf24 fehler beim drucken zu beheben.
Praktische Beispiele
Hier sind einige praktische Beispiele für die Nutzung von VBA zum Drucken von Excel in PDF:
-
Standardqualität:
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & "Dokument_" & ".pdf", Quality:=xlQualityStandard
-
Minimale Qualität (wenn Geschwindigkeit wichtiger ist als Qualität):
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & "Dokument_" & ".pdf", Quality:=xlQualityMinimum
Tipps für Profis
-
Verwende die .PrintOut-Methode mit PrToFileName, um die PDF-Datei direkt zu speichern, ohne sie zu öffnen. Dies kann die Effizienz erhöhen, insbesondere bei großen Dokumenten.
-
Achte darauf, dass Du mit .ExportAsFixedFormat die richtigen Parameter einstellst, um die Qualität und die Eigenschaften der PDF-Datei zu optimieren.
FAQ: Häufige Fragen
1. Wie kann ich eine PDF-Datei in einem bestimmten Ordner speichern?
Du kannst den Pfad im Filename-Parameter anpassen, um die PDF-Datei an einem gewünschten Ort zu speichern.
2. Warum funktioniert der PDF-Druck manchmal nicht?
Dies kann an Kompatibilitätsproblemen mit dem Drucker oder falschen Einstellungen in den VBA-Skripten liegen. Überprüfe die Druckereinstellungen und die verwendete Methode in Deinem VBA-Code.