Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: PDF-Creator Serienbrief als PDF Dateinamen übergeb

PDF-Creator Serienbrief als PDF Dateinamen übergeb
14.06.2015 22:17:29
Benny
Hallo,
ich möchte aus Excel raus einen Wordserienbrief öffnen und als PDF speichern/drucken.
Ein einzelnen Excel oder Worddokument kann ich per Export unter dem gewünschten Namen und Pfad bereits speichern.
Nun meine Frage: Gibt es eine Möglichkeit über die .MailMerge. die Datei als PDF zu speichern oder muss ich die Datei als pdf DRUCKEN?
Beim Drucken möchte ich den Speicherpfad und den Dateinamen an den PDF-Drucker übergeben. Dazu habe ich den PDF-Creator installiert und unter Extras->Veweise den "PDF-Creator- Your OpenSource PDF Solution" und "PDFCreatorApp 1.0 TypeLibary" hinzugefügt. Unter den Bibliotheken (F2) finde ich nun auch die Klassen PDFCreatorObj und ComPDFCreatorApp.
Im Forum habe ich nun verschiedene Programme zum Ansprechen des PDFCreator gefunden, die bei mir leider schon zu Beginn scheitern, denn der Code
Dim pdfJob As Object
Set pdfJob = CreateObject("PDFCreator.clsPDFCreator")
bricht mit dem Fehler 429 Objekterstellung durch ActivXKomponente nicht möglich ab.
Der Code
Dim PDFCreator2 As PDFCreator.PdfCreatorObj
bzw.
Dim PDFCreator2 As PDFCreator.PdfCreatorObj
Dim PDFCreator2 As PDFCreator.PrintJob
funktioniert, aber dann weiß ich nicht, wie ich dann den Serienbrief als PDf drucken kann.
Zur Sicherheit hänge ich noch den Code an, mit dem ich den Serienbrief bisher als PDF drucke. Allerdings muss ich bei dieser Lösung immer noch den Dateinamen und Pfad bei Drucken Dialog von Hand einstellen.
Public Sub SerienbriefDruck(ByVal speicherpfad As String, _
ByVal dateiname As String, _
ByVal pfadSerienbrief As String, _
ByVal dateinameSerienbrief As String, _
ByVal tabellenblatt As String, _
ByVal beginnDS As Integer, _
ByVal endDS As Integer, _
ByVal drucken As Boolean, _
Optional ByVal druckbereich As Boolean)
Dim tabelle As String
tabelle = ActiveWorkbook.name
Dim wdApp As Object
Dim dok As Object
'Serienbrief drucken
If Dir(speicherpfad, vbDirectory)  "" _
And dateiname  "" _
And Dir(pfadSerienbrief & dateiameSerienbrief)  "" _
And beginnDS > 0 Then  'And endDS 

Ich hoffe ich habe meinen Wunsch klar dargestellt und freue mich auf eure Lösungsvorschläge.
Vielen Dank
Benny

Anzeige

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

Betreff
Datum
Anwender
Anzeige
PDF-Creator Serienbrief...
15.06.2015 09:27:23
mumpel
Hallo!
1. Welche Version des PDF-Creators setzt Du ein? Dieser Code funktioniert in der Version 2.0 nicht, sondern nur bis Version 1.7.3
2. Office 2010 besitzt eine eigene Exportfunktion (ExportAsFixedFormad).
Gruß, René

AW: PDF-Creator Serienbrief...
16.06.2015 06:26:59
Benny
Hallo René,
ich benutze den PDF-Creator in der aktuellen (2.1.2) Version. Andere Dokumente exportiere ich auch bereits über die Export-Funktion, aber den Serienbrief mit den gewünschten Datensätzen muss ich doch per Druck exportieren, oder? Ich möchte eine PDF-Datei mit den gewünschten Datensätzen. Gibt es eine Möglichkeit alle bzw. nur gewünschte Datensätze über die Exportfunktion in ein PDF-zu Exportieren? Un wenn ja, wie?
Vielen Dank für deine Hilfe
Benny

Anzeige
AW: PDF-Creator Serienbrief...
17.06.2015 12:00:59
Benny
Hat noch jemand eine Idee?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Serienbrief in PDF umwandeln mit PDFCreator


Schritt-für-Schritt-Anleitung

  1. PDFCreator Installieren: Stelle sicher, dass du die aktuelle Version von PDFCreator (mindestens 2.1) installiert hast. Dies ist wichtig, da ältere Versionen eventuell nicht alle Funktionen unterstützen.

  2. Excel-Vorlage Erstellen: Erstelle in Excel eine Tabelle, die die Daten für deinen Serienbrief enthält.

  3. Word-Serienbrief Einrichten: Öffne Word und gehe zu „Sendungen“ > „Serienbrief starten“. Wähle die Excel-Datei als Datenquelle aus.

  4. VBA Code Anpassen: Nutze den folgenden VBA-Code, um den Serienbrief als PDF zu speichern:

    Public Sub SerienbriefDruck(ByVal speicherpfad As String, _
    ByVal dateiname As String, _
    ByVal pfadSerienbrief As String, _
    ByVal dateinameSerienbrief As String, _
    ByVal tabellenblatt As String, _
    ByVal beginnDS As Integer, _
    ByVal endDS As Integer, _
    ByVal drucken As Boolean)
    
    Dim wdApp As Object
    Dim dok As Object
    Set wdApp = CreateObject("Word.Application")
    Set dok = wdApp.Documents.Open(pfadSerienbrief & dateinameSerienbrief)
    wdApp.Visible = False
    dok.MailMerge.Execute
    dok.ExportAsFixedFormat OutputFileName:=speicherpfad & dateiname, _
    ExportFormat:=17  '17 steht für PDF
    dok.Close False
    wdApp.Quit
    End Sub
  5. Speicherpfad und Dateiname Angeben: Stelle sicher, dass du den richtigen Speicherpfad und Dateinamen in den Parametern der Subroutine angibst.


Häufige Fehler und Lösungen

  • Fehler 429: „Objekterstellung durch ActiveX-Komponente nicht möglich“. Dieser Fehler tritt häufig auf, wenn die PDFCreator-Bibliothek nicht richtig registriert wurde. Stelle sicher, dass PDFCreator korrekt installiert ist und die benötigten Referenzen in deinem VBA-Projekt aktiviert sind.

  • Druckdialog Erscheint: Wenn der Druckdialog erscheint, anstatt die Datei direkt zu speichern, kontrolliere den Code auf die richtigen Parameter und stelle sicher, dass die PDFCreator-Einstellungen korrekt konfiguriert sind.


Alternative Methoden

  • Export-Funktion von Word: Bei Office 2010 und späteren Versionen kannst du die integrierte Exportfunktion „ExportAsFixedFormat“ verwenden, um einen Serienbrief ohne PDFCreator zu speichern. Du kannst dies direkt im Word-Dokument tun, indem du „Datei“ > „Speichern unter“ wählst und das Format auf PDF änderst.

  • Verwendung von PDFCreator PDF teilen: Wenn du mehrere PDFs aus einem Dokument erstellen möchtest, kannst du die Funktion „Teilen“ im PDFCreator nutzen, um mehrere Dateien basierend auf den Seriendruck-Daten zu erstellen.


Praktische Beispiele

  • Serienbrief mit PDF erstellen: Angenommen, du möchtest einen Serienbrief für eine Einladung zu einer Veranstaltung erstellen. Du erstellst eine Excel-Tabelle mit den Namen und Adressen der Teilnehmer und nutzt den oben genannten VBA-Code, um die Einladungen automatisch als PDF zu speichern.

  • Seriendruck als PDF speichern: Wenn du Rechnungen versenden möchtest, kannst du ähnliche Schritte unternehmen, um jede Rechnung als individuelle PDF-Datei zu speichern, indem du den Namen des Empfängers als Dateinamen verwendest.


Tipps für Profis

  • PDFCreator Version prüfen: Achte darauf, immer die neueste Version von PDFCreator zu verwenden, um von den neuesten Funktionen und Bugfixes zu profitieren.

  • Skripte optimieren: Optimiere deine VBA-Skripte, indem du Fehlerbehandlungsroutinen hinzufügst, um unerwartete Abstürze zu vermeiden.

  • Serienbrief in PDF umwandeln: Denke daran, dass du beim Arbeiten mit vielen Datensätzen die Effizienz deines Codes im Auge behalten solltest, um lange Laufzeiten zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein Serienbrief als PDF gespeichert wird? Stelle sicher, dass dein VBA-Code die Methode ExportAsFixedFormat verwendet, um sicherzustellen, dass die Datei im PDF-Format gespeichert wird.

2. Welche PDFCreator-Version benötige ich für den VBA-Zugriff? Für den Zugriff über VBA wird empfohlen, mindestens die Version 2.1 zu verwenden, da ältere Versionen möglicherweise nicht alle Funktionen unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige