Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1428to1432
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

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

183 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige