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

Forumthread: Serienbrief als EIN PDF speichern

Serienbrief als EIN PDF speichern
17.06.2015 10:25:59
Benny
Hallo,
gibt es eine Möglichkeit einen Serienbrief, der mit den Datensätzen einer Exceltabelle erstellt wurde, als EIN "gemeinsames" Pdf zu speichern ohne den Umweg über einen PDF-Drucker zu wählen. Im Netz habe ich viele Möglichkeiten gefunden für jeden Datensatz ein eigenes PDF zu erstellen, aber ich möchte ein PDF mit allen Seiten (bzw.- Datensätzen).
Vielen Dank
Benny

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Serienbrief als EIN PDF speichern
17.06.2015 11:44:15
fcs
Hallo Benny,
du kannst in Word alle Serienbrief-Dokumente in ein neues Worddokument ausgeben.
Dieses neue Worddokument kannst du dann normal drucken und via "Speichern unter" als PDF-speichern oder ggf. auch als PDF drucken.
Gruß
Franz

AW: Serienbrief als EIN PDF speichern
17.06.2015 12:00:25
Benny
Hallo Franz,
das Problem ist, dass ich nicht verstehe, wie ich alle Datensätze in ein PDF abspeichern kann ohne einen Pdf-Drucker zu benutzen. Ich möchte bei 30 Datensätzen ein pdf mit 30 Seiten erzeugen.
Der Umweg über den PDF ist mir zu umständlich, da ich dann nicht den Dateinamen und Pfad übergeben kann.
Bisher sieht mein Code in etwa so aus (die Variablen sind passend gesetzt):

Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
'wdApp.ScreenUpdating = False
'wdApp.DisplayAlerts = False
'Serienbrief öffnen
'MsgBox pfadSerienbrief & serienbrief
Set dok = wdApp.Documents.Open(pfadSerienbrief & dateinameSerienbrief)
dok.MailMerge.MainDocumentType = 0
dok.MailMerge.MainDocumentType = wdFormLetters
'Serienbrief aufrufen
dok.MailMerge.OpenDataSource name:=pfadTabelle & ActiveWorkbook.name, _
ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=E:\Vorlage.xlsm;Mode=Read; _
Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=35;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global" _
, SQLStatement:="SELECT * FROM " & from, SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
If endDS > beginnDS Then
wdApp.ActivePrinter = "PDF-Creator 2.12"
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument 'wdSendToPrinter
.SuppressBlankLines = True
With .DataSource
.FirstRecord = beginnDS
.LastRecord = endDS
End With
.Execute 'Pause:=False
End With
Als Pdf-Drucken über den Drucker klappt es, aber dann muss ich im Druckdialog immer Dateinamen und Pfad übergeben.
Dies möchte ich automatieren.
Viele Grüße und vielen Dank
Benny

Anzeige
AW: Serienbrief als EIN PDF speichern
17.06.2015 16:20:31
fcs
Hallo Benny,
du kannst in Word seit Word 2007 eine Worddatei direkt als PDF speichern. bzw. exportieren.
Den PDF-Dateinamen muss du dir halt irgendwie zusammenbauen.
Gruß
Franz
 'Serienbrief in eine neue Worddatei ausgeben
With dok.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = beginnDS
.LastRecord = endDS
End With
.Execute Pause:=False
End With
'Serienbriefe als PDF speichern
wdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"D:\Test\Briefe " & Format(Now, "YYYY-MM-DD hhmmss") & ".pdf", _
ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=True, _
OptimizeFor:=wdExportOptimizeForPrint, _
Range:=wdExportAllDocument, From:=1, To:=1, _
Item:=wdExportDocumentContent, _
IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, _
DocStructureTags:=True, BitmapMissingFonts:=True, _
UseISO19005_1:=True
wdApp.ActiveDocument.Close savechanges:=False 'erzeugte Worddatei schliessen?

Anzeige
AW: Serienbrief als EIN PDF speichern
17.06.2015 16:25:27
Benny
Hallo Franz,
der PDF-Export über die .ExportAsFixedFormat ist mir bekannt. WIe ich den Dateinamen zusammenbastle ist mir auch klar.
Aber ich verstehe einfach nicht, wie ich die Exportfunktion auf einen Serienbrief mit den Datensätzen von 1 bis n anwenden kann, so dass er mir, wie im Druck,alle Serifenbrief für die gewünschten Datensätze in ein PDF exportiert. Wenn ich die Funktion benutze, dann erhalte ich immer nur ein PDF-Dokument mit dem ersten Datensatz.
Viele Grüße
Benny

Anzeige
AW: Serienbrief als EIN PDF speichern
17.06.2015 17:22:44
fcs
Hallo Benny,
ich hab das Makro direkt unter Word 2010 getetstet und da wird mit dem Start des akros zuerst ein neues Worddokument mit allen Briefen (z.B. Empfänger 1 bis 5) erstellt und dann wird diese Datei als PDF espeichert und mit den gewählten Parametern auch im Acrobat mit 5 Seiten angezeigt.
Nach meiner Erfahrung funktioniert es nicht, die Quelle in Word zuzuweisen, wenn die Quelle in Excel geöffnet ist. evtl. musst du da noch was anpassen.
Evtl. gibt es auch ein Problem, wenn man versucht das ganze von Excel zu starten. Da ist mir aber nichts bekannt.
Ich hab auch keine Lust, das alles nachzubauen. Dann müsstest du mal alles was du hast (Word- und Exceldateien in abgespeckter/anonymer Form) in eine ZIP-Datei packen und hier hochladen.
Gruß
Franz

Anzeige
AW: Serienbrief als EIN PDF speichern
17.06.2015 18:17:26
Benny
Hallo Franz,
mea maxima culpa. Vielen Dank, es klappt wie du es gesagt hast.
Ich hatte vor der Erstellung des neuen Dokumentes die Anpassung der Datensätz vergessen.
Super, so bin ich vom PDF-Drucker unabhängig und kann den Dateinamen direkt übergeben.
Tausend Dank auch/vor allem für deine Gedult mit mir:)
Viele Grüße
Benny
Anzeige
;

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 als PDF speichern – Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um einen Serienbrief als PDF zu speichern, ohne einen PDF-Drucker verwenden zu müssen, kannst du folgende Schritte befolgen:

  1. Serienbrief in Word erstellen: Stelle sicher, dass dein Serienbrief bereits in Word erstellt wurde, basierend auf einer Excel-Datentabelle.

  2. Neues Word-Dokument generieren: Du kannst alle Datensätze in ein neues Word-Dokument ausgeben. Dies geht über die MailMerge-Funktion. Hier ein Beispiel für den VBA-Code:

    Set wdApp = CreateObject("Word.Application")
    wdApp.Visible = True
    Set dok = wdApp.Documents.Open(pfadSerienbrief & dateinameSerienbrief)
    With dok.MailMerge
       .Destination = wdSendToNewDocument
       .SuppressBlankLines = True
       .Execute Pause:=False
    End With
  3. PDF exportieren: Nachdem das neue Dokument erstellt wurde, kannst du es direkt als PDF speichern:

    wdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:= _
    "D:\Test\Briefe " & Format(Now, "YYYY-MM-DD hhmmss") & ".pdf", _
    ExportFormat:=wdExportFormatPDF, _
    OpenAfterExport:=True
  4. Dateinamen dynamisch erstellen: Stelle sicher, dass du den Dateinamen dynamisch zusammenbaust, um doppelte Dateien zu vermeiden.

  5. Automatisierung: Füge den gesamten Prozess in ein Makro ein, um die Durchführung zu automatisieren.


Häufige Fehler und Lösungen

  • Problem: Nur der erste Datensatz wird exportiert.

    • Lösung: Überprüfe, ob du die richtigen Datensätze im MailMerge gesetzt hast. Stelle sicher, dass du .FirstRecord und .LastRecord korrekt definierst.
  • Problem: Fehler beim Speichern als PDF.

    • Lösung: Stelle sicher, dass der Pfad, den du angibst, existiert. Überprüfe auch, ob du Schreibberechtigungen auf dem Zielordner hast.

Alternative Methoden

Falls du den Weg über VBA nicht nutzen möchtest, kannst du folgende Alternativen in Betracht ziehen:

  • Word Serienbrief in PDF umwandeln: Nutze die integrierte Funktion in Word, um den gesamten Serienbrief als PDF zu exportieren. Gehe zu „Datei“ > „Speichern unter“ und wähle PDF als Dateiformat.

  • Drittanbieter-Tools: Es gibt verschiedene Tools, die speziell für die Umwandlung von Word-Dokumenten in PDFs entwickelt wurden. Diese können oft mehr Optionen bieten als die integrierten Funktionen.


Praktische Beispiele

  1. Serienbrief als PDF speichern mit VBA:

    wdApp.ActiveDocument.ExportAsFixedFormat OutputFileName:= _
    "D:\Serienbriefe\Serienbrief_" & Format(Date, "YYYYMMDD") & ".pdf", _
    ExportFormat:=wdExportFormatPDF
  2. PDF mit mehreren Seiten: Wenn du einen Serienbrief mit 30 Datensätzen hast, wird durch die oben genannten Schritte ein einzelnes PDF-Dokument mit allen 30 Seiten erstellt.


Tipps für Profis

  • Automatisierung optimieren: Verwende VBA, um den gesamten Prozess von der Erstellung bis zum Speichern des PDFs zu automatisieren. Damit sparst du Zeit und minimierst Fehler.

  • Datenvalidierung: Stelle sicher, dass die Daten in deiner Excel-Tabelle korrekt sind, bevor du den Serienbrief erstellst. Dies verbessert die Qualität des finalen PDFs.

  • PDFs per E-Mail versenden: Du kannst auch VBA verwenden, um den Serienbrief als PDF per E-Mail zu versenden. Nutze die Outlook-Bibliothek in deinem VBA-Skript, um den Versand zu automatisieren.


FAQ: Häufige Fragen

1. Wie speichere ich einen Serienbrief als einzelne PDFs?
Du kannst die Funktion ExportAsFixedFormat in einer Schleife verwenden, um jeden Datensatz einzeln zu speichern.

2. Funktioniert dies auch in Word 365?
Ja, alle beschriebenen Methoden sind auch in Word 365 anwendbar.

3. Kann ich den Serienbrief direkt per E-Mail versenden?
Ja, du kannst das tun, indem du VBA-Code zur Automatisierung des E-Mail-Versands hinzufügst, nachdem der Serienbrief als PDF gespeichert wurde.

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