Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Excel in PDF drucken

VBA Excel in PDF drucken
15.07.2022 12:24:15
JKF
Hallo,
ich versuche, mit VBA einen Range-Bereich in PDF zu drucken (mein Standard-Drucker ist PDF24).
Das Makro braucht ca. 2 Minuten, bis die PDF-Datei generiert wird:
With ThisWorkbook.Worksheets("Bekanntmachung")
.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & "Bekanntmachung_" & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End With
Mit xlQualityMinimum habe ich es auch versucht, aber es hat das Ganze nicht beschleunigt.
Ich habe noch Folgendes ausprobiert:
ThisWorkbook.Worksheets("Bekanntmachung").PrintOut PrToFileName:=ThisWorkbook.Path & "\" & "Bekanntmachung_" & ".pdf"
Hier wird die PDF-Datei recht fix erstellt, allerdings kann ich diese nicht öffnen, da lt. Fehlermeldung der Dateityp nicht unterstützt wird oder die Datei beschädigt ist.
Hat jemand eine Idee, was ich hier noch anpassen kann?
Mit dem ActivePrinter:="PDF24" (auch mit dem Port "auf e00") habe ich es auch ausprobiert, leider erfolglos.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Excel in PDF drucken
15.07.2022 12:58:18
ralf_b
kann vielleicht an der Seitenformatierung liegen das es 1. so lange dauert und 2. der Drucker das Seitenformat nicht kennt.
AW: VBA Excel in PDF drucken
15.07.2022 13:37:05
JKF
Hallo Ralf,
ich habe auch so etwas einbaut und ausprobiert, leider ohne Erfolg
With ThisWorkbook.Worksheets("Bekanntmachung").PageSetup
.PrintArea = "B1:H81"
.Orientation = xlPortrait
.FitToPagesWide = 1
End With
Anzeige
AW: VBA Excel in PDF drucken
15.07.2022 14:48:28
ralf_b
Also bei mir läuft das astrein. mit oder ohne pagesetup.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

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:

  1. Standardqualität:

    .ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ThisWorkbook.Path & "\" & "Dokument_" & ".pdf", Quality:=xlQualityStandard
  2. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige