Die Entwicklung von formletter2pdf ist eingestellt!
Das Makro kann weiterhin bezogen werden. Kommentare auf der Seite werden allerdings nicht mehr beantwortet.
Mit dem Makro formletter2pdf erweitern Sie die Serienbrieffunktion von Microsoft Word um die Möglichkeit Serienbriefe als einzelne PDF-Dateien oder Word-Dokumente zu speichern oder als einzelne Dokumente zu drucken.
Und das Beste: formletter2pdf ist Open Source. Das heißt, das Word Makro ist kostenlos und Sie können dieses jederzeit an Ihre persönlichen Bedürfnisse anpassen.
Die folgende Anleitung zeigt die Funktionsweise von formletter2pdf anhand des im Downloadpaket enthaltenen Beispieldokuments.
Die unten stehende Anleitung zeigt wie Sie das Makro formletter2pdf aus dem im Downloadpaket enthaltenen Beispieldokument in Ihre globale Word-Vorlage kopieren. Optional können Sie das Makro auch direkt aus dem enthaltenen Sourcecode selbst erstellten.
Vergewissern Sie sich, dass formletter2pdf mit Ihrer Microsoft Office-Version kompatibel und Ihre Office-Installation mit allen Service Packs und Updates versorgt ist.
Weiterführende Informationen und eine detailliertere Anleitung zur Serienbrief-Funktion in Microsoft Word finden Sie im folgenden Microsoft Artikel: http://support.microsoft.com/kb/294683/de
formletter2pdf ist kompatibel mit den folgenden Microsoft Office-Versionen:
Sie freuen sich, dass formletter2pdf Open Source und kostenlos ist, wollen aber trotzdem meine Arbeit honorieren?
Dann würde ich mich über eine kleine Anerkennung freuen:
Das Downloadpaket beinhaltet die folgenden Dateien:
Nein, formletter2pdf ist und bleibt weiterhin kostenlos. formletter2pdf ist Open Source, daher haben Sie jederzeit die Möglichkeit das GUI des Makros im Makro-Editor zu bearbeiten und die Spendenaufforderung zu entfernen.
formletter2pdf ist unter Microsoft Windows mit allen Office Versionen ab der Version 2007 nutzbar. formletter2pdf funktioniert aktuell unter Office for Mac ab Version 2011.
Die Serienbrieffunktion unter Office 2003 ist weit noch nicht so ausgereift wie in späteren Versionen von Microsoft Office und Office 2003 hat noch keine Funktion für das Abspeichern von Word-Dokumenten als PDF-Dateien integriert.
Office 2007 ist aus einem mir unbekannten Grund in der Basisinstallation nicht mit formletter2pdf kompatibel. Installieren Sie alle verfügbaren Service Packs und Updates für Office 2007 um das Problem zu beheben.
Ab der Version Office for Mac 2016 hat Microsoft die Funktionen zum Bearbeiten und Erstellen von Makros stark eingeschränkt. So können unter Office for Mac 2016 keine grafischen Fenster (Userforms) erstellt oder bearbeitetwerden. Auch können Makros mit Userforms mit der Organisieren-Funktion nicht zwischen Dokumenten oder in die Vorlage Normal.dot kopiert werden (Fehlermeldung: Nicht genügend Arbeitsspeicher).
Abhilfe gibt es im Moment keine. Die einzige Lösung besteht darin den Serienbrief unter Office für Windows vorzubereiten und dort das Makro in das Dokument zu integrieren. Dieser vorbereitete Serienbrief kann dann unter Office for Mac 2016 genutzt werden, denn lauffähig sind Makros mit Userforms weiterhin.
Neben den Standardformaten Word-Dokument (.docx) und Portable Document Format (.pdf) kann formletter2pdf Dateien auch in folgende Dateiformate speichern: Word 97-2003-Dokument (.doc), Website in einer Datei (.mht), Website (.htm), Website gefiltert (.htm), Rich-Text-Format (.rte), Nur Text (.txt).
Nein, das Makro ist in den erzeugten Word-Dokumenten nicht integriert. Allerdings ist zu beachten, dass ein im Ausgangsdokument für das Makro erstellter Button in der Leiste für den Schnellzugriff (wenn auch funktionslos) erhalten bleibt.
Unter Windows gibt es einige Zeichen (: \ / ? : * " < > |) die für Dateinamen nicht zulässig sind. Damit die erstellten Dateien auch wirklich gespeichert werden können, stellt formletter2pdf sicher, dass diese Zeichen im Dateinamen nicht vorkommen und entfernt Sie deshalb automatisch.
Damit formletter2pdf jeden Serienbrief in eine einzelne Datei speichern kann, muss formletter2pdf unbedingt vor dem Zusammenführen der Serienbriefe ausgeführt werden - also vor dem Anwenden einer Option aus dem Punkt "Fertig stellen und zusammenführen".
Das ist eine Eigenheit der PDF-Export-Funktion von Word und eine generelle Lösung gibt es nicht. Meist liegt es aber an zu knappen Seitenrändern, Tabellen am Ende des Dokuments oder zu hohen Kopf/Fußzeilen. Meinen Erfahrungen nach hilft in diesen Fällen leider nur mit der Länge des Inhalts auf der letzten Seite bzw. den oben erwähnten Eigenschaften zu experimentieren oder als letzten Schritt das Anlegen eines neuen Word-Dokuments.
Stellen Sie sicher, dass Sie die Serienbrieffunktion gestartet haben und eine Datenquelle eingebunden ist. Sie können auch versuchen das Makro erneut anzulegen. Abhilfe schafft in einigen Fällen auch das neu erstellen des Word-Dokuments. Beginnen Sie dabei unbedingt mit einem neuen leeren Dokument.
Um Standardwerte zu setzen, muss das Makro über den in Microsoft Word integrierten Visual Basic Editor angepasst werden. Alle in der Oberfläche ersichtlichen Werte können im Quellcode des Moduls "formletter2pdf" gesetzt werden - die entsprechende Stelle bzw. die erlaubten Werte sind im Code kommentiert. Es sind auch leere Werte möglich, um keine Vorgaben zu machen.
An den geschilderten Problemen ist die PDF-Exportfunktion von Microsoft Word schuld. Optionen um die Art der PDF-Generierung zu beeinflussen gibt es aktuell nicht. Abhilfe schafft daher nur das leichte Modifizieren der Vorlage (Verschieben der Grafik, Verändern der Liniendicke, etc.).
Ja, allerdings nur unter Office für Windows. In Office for Mac ist die entsprechende Funktionalität nicht integriert.
Wählen Sie dazu in der Oberfläche von formletter2pdf bei „save single files as“ den Punkt „other“ und „PDF/A (ISO 19005-1-compatible)“.
Ja, dazu nutzt man die in Word enthaltene Funktion "Empfängerliste bearbeiten" (im Reiter "Sendungen"). Darin werden alle Empfänger aufgelistet und lassen sich einzeln bzw. gesammelt durch Anhaken aktivieren bzw. deaktivieren. formletter2pdf nutzt für den Export nur jene Empfänger die in dieser Liste auch angehakt sind. Für komplexere Auswahlen in langen Empfängerlisten findet sich dort auch eine Funktion zum Filtern.
Microsoft Word bietet die Möglichkeit individuelle Schreiben (z.B. einen Brief für unterschiedliche Empfänger) anhand einer Vorlage und einer Datenquelle (z.B. einer Excel-Tabelle mit Name und Anschrift) automatisch zu generieren.
Eine einfache Beschreibung, wie Sie einen Serienbrief erstellen, finden Sie weiter oben unter dem Punkt Anleitung.
Das Projekt formletter2pdf ist aufgrund der unzähligen Zugriffe und Kommentare auf meinen Blog-Artikel Word-Serienbrief in einzelne Word- oder PDF-Dateien speichern entstanden.
Sie haben eine Frage zu formletter2pdf oder auch einen Verbesserungsvorschlag? - Dann würde ich mich über einen kurzen Kommentar freuen.
555 Kommentare | zum neuesten Kommentar springen
Seit neustem habe ich den Effekt, das Word bei jedem PDF ein Dialogfenster anzeigt mit folgendem Inhalt:
"Das gespeicherte Dokument enthält Überarbeitungen. Speichern fortsetzen?"
Das muss dann bei jedem erzeugten PDF bestätigt werden. Gibt es hierzu ein Workarround oder eine Option in Word um dies zu deaktivieren?
Viele Grüße
Carsten
Ich habe die Lösung für mein Problem gefunden.
Vor die Zeile mit dem Code:
ActiveDocument.SaveAs2 Filename:=Targetfile & "pdf", FileFormat:=wdFormatPDF
muss folgender Code eingefügt werden:
ActiveDocument.AcceptAllRevisions
Danach kommen die Dialogfenster nicht mehr.
Hallo
Ich nutze dieses Macro nun schon eine ganze Weile und bin sehr zu frieden damit. Nur kämpfe ich mit einem kleinen Problem. Im Speicherfenster steht im Feld für den Ordner der Ausdruck %timestamp% dieser Erzeugt ein Ausdruck im Format "dd.mm.yyyy hh:mm:ss", kann man das Format eventuell ändern in "YYYY.MM.DD hh:mm:ss"?
MfG
Hallo Stefan,
die Anpassung des Datumsformats ist im Code des Makros möglich.
lg Christian
Hallo
So das ganze hat mich nun doch etwas generft und trotz meiner Nichtahnung von VBA habe ich eine Lösung gefunden. Google sei dank!
"Ordnername-" & Format(Date, "yyyymmdd") & Format(Time, "hhmmss")
Wichtig war mir das Ganze, weil der Explorer bei Sortierung nach Namen dan Zeitlich vollkommen durcheinander Sortiert.
MfG Stefan
Hallo
Ich versuche gerade den Schritt 3 und 4. Bei mir wird in der Ansicht "Makropojektelemente" aber nichts angezeigt. Ich habe die Datei nun mehrmals heruntergeladen (auch Vorgängerversionen), sowie Neustart gemacht. An was könnte dies liegen?
Guten Tag! Ich versuche in Word for Mac formletter2pdf_form zu kopieren, erhalte aber die Fehlermeldung, dass das Projektelement nicht kopiert werden kann.
Danke für dieses wertvolle Tool!
Kleiner Hinweis: es liefert eine unpassende Fehlermeldung, wenn die Excel-Tabelle im Hintergrund noch geöffnet ist.
Unabhängig davon: tolle Sache!
Danke. Bin bleib da dran, hab dir ein bisschen was überwiesen, weil Du mir sehr geholfen hast.
Kommentare älter als 1 Jahr
Super Sache! Funktioniert einwandfrei. Danke
Kommentar von Der User am 05.05.2014 um 06:41
MEGAGEIL!!! Vielen, vielen Dank! Spart sehr viel Zeit.
Kommentar von Frieder E. am 16.05.2014 um 19:31
Schade, funktioniert nur mit .docx. Bei .pdf werden die ersten ein oder auch zwei Dokumente eines Serienbriefs fehlerfrei erstellt, dann bricht er mit dieser Meldung ab: "formletter2pdf has been aborted, because an invalid file name has been detected. (...)"
Kommentar von goto fail am 19.05.2014 um 19:56
Hallo goto fail,
Word liefert leider nur sehr kryptische Fehlernummern. Hinter der von mir erstellten Fehlermeldung verbirgt sich die Fehlernummer 4198, die ich bei meinen Versuchen oftmals in Zusammenhang mit in Dateinamen nicht erlaubten Zeichen erhalten habe. In Zusammenhang mit der PDF-Erstellung kann diese Fehlernummer allerdings auch eine andere Bedeutung haben.
D.h. bei dir funktioniert mit ein und demselben Dokument bzw. derselben Empfängerliste die Erstellung von Word-Dokumenten fehlerfrei, und nur die PDF-Erstellung bricht damit ab? Oder hast du die PDF-Erstellung mit einem anderen Dokument getestet?
Funktioniert das manuelle Speichern dieser Word-Datei als PDF?
lg Christian
Kommentar von Christian Bartl am 23.05.2014 um 21:49
Hallo Christian
> bei dir funktioniert mit ein und demselben Dokument bzw. derselben Empfängerliste die Erstellung von Word-Dokumenten fehlerfrei, und nur die PDF-Erstellung bricht damit ab?
Richtig, und zwar mit dem Beispielbrief (formletter2pdf.docm, formletter2pdf.mdb) als auch mit einem eigenen Serienbrief (stets mit aktivierten Makros).
Gleiches passiert, wenn ich die Sonderzeichen aus formletter2pdf.mdb entferne ("test:filename?>/\:*?"<>|" -> "abc", "set 3 ©" -> "123") oder einfach im formletter2pdf Dialog den Dateinamen nur z.B. mit {%counter%} erstelle.
> Funktioniert das manuelle Speichern dieser Word-Datei als PDF?
Ja, das Office Add-In für den .pdf und .xps Export funktioniert problemlos; auch mit den verschiedenen Seiten aus dem Beispielbrief. Das konvertieren von .doc/.docx mit Drittsoftware (pdfcreator, pdf24) läuft ebenfalls wie es soll.
Mein System:
Microsoft Office 2007 mit allen Updates (ausgenommen "Office Live add-in 1.5"); vollständig Installiert sind: "Gemeinsam genutzte Office-Features", Access, Excel, Viso Viewer, Word und "Office-Tools".
Windows 7 Pro (x64)
Kommentar von goto fail am 23.05.2014 um 23:43
Hallo goto fail,
ich kann den von dir beschriebenen Fehler leider nicht reproduzieren. Die aktuelle Version läuft bei mir am Testsystem mit Office 2007 (unter Windows XP) bei allen Dateitypen fehlerfrei. Tut mir leid, dir hier nicht weiterhelfen zu können.
lg Christian
Kommentar von Christian Bartl am 24.05.2014 um 16:20
Wie cool ist das denn? das hat mir sehr viele Stunden Arbeit erspart. Vielen vielen Dank!
Kommentar von Emm T. am 23.05.2014 um 11:44
Hey!
genau was ich suche eigentlich:
hab aber das Problem, dass ich immer die Meldung bekomme "1 Form letter exported successfully!" aber leider der entsprechende Zielordner immer leer bleibt?
Ich hoffe auf Hilfe, ich möchte nicht 300 Dokumente einzeln erstellen ;)
Kommentar von Melanie am 05.06.2014 um 17:11
Hallo Melanie,
da kann ich ohne genauere Infos im Moment leider nur raten:
* Hast du das Problem auch mit dem Beispieldokument?
* Erhältst du in der Vorschau der Sendungen schon 300 Einzeldokumente?
* Hast du formletter2pdf vor dem Fertig stellen und zusammenführen ausgeführt?
* Hast du eventuell einen Filter auf deine Empfängerliste angewandt?
* Ist eventuell das Datenfeld in der Empfängerliste für die Dateinamensgenerierung leer bzw. hat immer den selben Wert?
lg Christian
Kommentar von Christian Bartl am 05.06.2014 um 18:56
Hey
mit dem Beispieldokument hatte ich keine Probleme
Filter hab ich entfernt. Spalten sind alle vollständig und unterschiedlich benannt, fertig gestellt und zusammengeführt habe ich noch nicht, und eine Vorschau auf Dokumente bekomme ich nicht?
Kommentar von Melanie am 06.06.2014 um 14:33
Hallo Melanie,
mit Vorschau meinte ich ob du mit der Word-Funktion "Vorschau Ergebnisse" im Tab "Sendungen" bereits alle 300 einzelnen Dokumente siehst - falls nicht, hakt es noch an deinem Serienbrief.
Ansonsten ist dein Problem ohne es zu sehen für mich leider nur schwer nachvollziehbar. Ich habe gestern noch eine neue Version publiziert, bei der ich ein Problem mit der maximalen Pfadlänge behoben habe. Probiere diese doch bitte einmal aus, vielleicht klappt es ja.
lg Christian
Kommentar von Christian Bartl am 07.06.2014 um 11:09
Habe genau das selbe Problem. Ich habe Ihnen eine Beispieldatei geschickt. Vorschau klappt. Danke!
Kommentar von Olivier am 28.07.2014 um 14:17
Hallo Olivier,
ich habe gerade ihre Beispieldaten ausprobiert und konnte die Dateien unter Office 2013 problemlos erstellen. Versuchen Sie einmal einen anderen Speicherort für ihre Zieldateien. Eventuell haben Sie auch zu lange Werte in den einzelnen Felder und die Dateien können daher aufgrund eines zu langen Dateinamens nicht gespeichert werden.
lg Christian
Kommentar von Christian Bartl am 28.07.2014 um 21:43
Hallo Christian
Vielen Dank für die schnelle Rückmeldung. Der Hinweis war super. Ich habe die Spaltenüberschriften gekürzt und jetzt läuft alles!
Kommentar von Olivier am 29.07.2014 um 09:15
Habe gerade den ersten Test gemacht. Top. Es stellt sich aber die Frage, ob hier eine Begrenzung bei 1.000 Dokumenten drin ist. Ich habe mehrere Tests gemacht und es war immer nach 1.000 Dokmenten Schluss. Damit komme ich nicht weit :-)
Kommentar von Tom am 12.06.2014 um 20:09
Hallo Tom,
von meiner Seite aus ist keine Limitierung eingebaut und ich habe eben erfolgreich etwas mehr als 2000 Dokumente damit erstellt. Endet die Erstellung bei dir mit der Erfolgsmeldung oder einer Fehlermeldung?
lg Christian
Kommentar von Christian Bartl am 15.06.2014 um 12:38
Hi Christian.
Danke für die Info. Wahrscheinlich wieder Redmond Pranks :-). Ich wollte nur auf Nummer sicher gehen. Es gibt eine Menge toller Tools, die haben irgendwelche Begrenzungen drin - ob gewollt oder Bugs weiß man nie. Dann werde ich mal in die Tiefen des Systems hinabsteigen und sehen, ob ich hier irgendwo eine Info finde, warum das System aussteigt. Wenn ich was finde, sage ich kurz Bescheid.
Gruß Tom
Kommentar von Tom am 15.06.2014 um 12:48
Alles gut! Habe noch mal auf einer Maschine getestet, die nur System und Office drauf hat: 25.000 sind jetzt in 2 Stunden ohne Probleme durchgelaufen. Echt eine feine Sache!!!
Maschine: W7/64Pro i5-3470S 8GB SSD OF2013 Pro
Kommentar von Tom am 15.06.2014 um 15:10
Super Makro, vielen Dank dafür! Es funktioniert bei mir einwandfrei mit Texten.
Ist es auch möglich, Bilder dynamisch einfügen zu lassen? Hier erscheint bei mir in jedem PDF das selbe Bild. Ich binde das Bild es wie folgt ein:
INCLUDEPICTURE "E:\\Fotos\\{ MERGEFIELD "FOTO_ID" }.jpg" \* MERGEFORMAT \d
Wenn ich die normalen Word-Schritte durchführe funktioniert es: Serienbrief zusammenführen --> alles markieren --> Daten aktualisieren (F9) --> Drucken. Jedoch habe ich dann ein einziges riesen PDF...
Ich kenne mich leider mit Makros nicht aus, aber vielleicht gibt es ja einen Befehl, der vor jedem Ausdruck alle Daten ins Dokument lädt? Vielen Dank für die Hilfe.
Kommentar von Simon am 30.06.2014 um 10:31
Hallo Simon,
das Makro erstellt für jeden Brief ein neues Word-Dokument und ersetzt darin auch die dynamischen Felder mit den Werten aus der Empfängerliste. Wenn also die anderen Felder korrekt ersetzt werden, sollte auch dieses Feld ersetzt werden. Passiert dies nicht, muss vermutlich per Makro eingegriffen werden, eine generelle Lösung die ich in den Code von formletter2pdf einbauen könnte sehe ich hierfür allerdings nicht.
lg Christian
Kommentar von Christian Bartl am 30.06.2014 um 19:42
Hallo Christian
Ich habe nochmal etwas gegoogelt und anscheinend ist es möglich per Makro das aktive Dokument zu aktualisieren mit ActiveDocument.Fields.Update. Ich habe das mal in dein Makro eingebaut bei Zeile 233:
Do
' create single files
ActiveDocument.Fields.Update
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
Es scheint tatsächlich zu funktionieren! Ich bin absoluter VBS-Neuling und allenfalls kannst du dies noch verifizieren oder gäbe es eine bessere Lösung?
Ansonsten hilft es ja vielleicht jemandem sonst noch.
Liebe Grüsse
Simon
Kommentar von Simon am 04.08.2014 um 16:33
Hallo Simon,
danke fürs posten der Lösung. Werde das Makro um deine Codezeile ergänzen.
lg Christian
Kommentar von Christian Bartl am 17.08.2014 um 15:09
Hat sofort funktioniert in der Version 2.
Ich habe Word 2010 im Einsatz und sollte gerade 662 Artikeltexte vereinzeln inklusive eines Nummernkreise.
Jetzt läuft der Rechner gerade im Hintergrund und ich freue mich nur :-)
Klasse Job,
ganz großes Kompliment!
Kommentar von Peter am 17.07.2014 um 16:09
Hallo Christian, super Macro! Funktioniert bei mir soweit sehr gut. Nur werden leider die Kopf- und Fußzeilen nicht miterzeugt. (Benutze Office2010 SP2 unter Win7 64bit SP1)
LG Jörg
Kommentar von Jörg am 25.07.2014 um 00:51
Hallo Jörg,
das Makro selbst beeinflusst den Inhalt der erzeugten Dateien nicht. Werden Kopf- und Fußzeile bei dir integriert, wenn du das Dokument manuell als PDF abspeicherst? Bzw. wenn du den Serienbrief erzeugst und dir die Ergebnisdatei von Word ansiehst?
lg Christian
Kommentar von Christian Bartl am 25.07.2014 um 15:33
Ja, die Kopf- und Fußzeilen werden beim 'normalen' Serienbriefdruck (auch als PDF) mitgedruckt. Ich habe mir jetzt erstmal geholfen, indem ich die Kopf- und Fußzeile als Dokumenteninhalt eingefügt habe. Da der Brief nur ein bis zwei Seiten enthält, ist das kein Problem. :)
LG Jörg
Kommentar von Jörg am 25.07.2014 um 17:24
erstmal super Programm, spart eine Menge Arbeit!
Allerdings haben die pdf-Dateien am Ende immer eine leere weiße Seite, also eine Seite mehr als das Word-Dokument. Ist dieser Fehler schon öfter aufgetreten?
Kommentar von Powerlocke am 29.07.2014 um 16:03
Hallo Powerlocke,
das ist ein Phänomen, das ich selbst hin und wieder in Word beobachte und nichts mit dem Makro an sich zu tun hat. Eine andere Lösung als den Abstand des Inhalts zum unteren Seitenrand zu vergrößern (z.B. letzte Zeile wegnehmen, unteren Seitenrand verkleinern, Schriftgröße verrringern) habe ich allerdings selbst noch nicht gefunden.
lg Christian
Kommentar von Christian Bartl am 29.07.2014 um 21:14
Hi, hat das nicht eher damit etwas zu tun das das Makro immer einen Abschnittsumbruch (nächste Seite) einfügt?
(Mac, Office Mac 2011)
Kommentar von Lars B. am 19.11.2014 um 23:36
Hallo Lars,
das Makro fügt meiner Meinung nach selbständig keinen Abschnittsumbruch ein. Es wird immer eine neue Datei erzeugt in der nur der aktuelle Brief enthalten ist. Hast du hier ein anderes Verhalten beobachtet?
lg Christian
Kommentar von Christian Bartl am 21.11.2014 um 20:51
Bin begeistert von diesem Makro. Habe bereits das vorgängige benutzt. Kleine Frage an den Author: Wie kann ich den Pfad und den Dateinamen fix vorgeben? Danke zu Voraus
Kommentar von edi am 29.07.2014 um 19:25
Hallo Edi,
das kommt darauf an ob du mit fix vorgeben meinst, den Standardwert auf einen anderen zu setzen oder die Eingabe durch den Nutzer komplett zu unterbinden.
Die Standardwerte setzt du wie folgt: Der Wert für "folder name" und "file name pattern" sind direkt als Text-Value in die Formularfelder eingetragen. Der Pfad von "save to" wird im Quellcode des Formulars am Anfang der Funktion "UserForm_Initialize()" gesetzt.
Wenn du direkt Einfluss auf den Zusammenbau der einzelnen Werte nehmen willst, schau dir die Funktion "create_Click()" näher an - die entsprechenden Stellen sind kommentiert.
lg Christian
Kommentar von Christian Bartl am 29.07.2014 um 21:24
Hallo Christian, tolles Makro! Eine Frage: Bei der Erstellung von PDF-Dokumenten werden bei mir die Schriften leider nicht eingebettet. Gibt es dazu eine Lösung? Bzw. kann ich einen bestimmten Codeschnipsel selbst einfügen?
Viele Grüße
Joachim
Kommentar von JoJu am 30.07.2014 um 10:56
Hallo Joachim,
das Einbetten der Schriften lässt sich in Word über die folgende Einstellung zentral steuern: Datei -> Optionen -> Speichern -> Schriftarten in der Datei einbetten.
lg Christian
Kommentar von Christian Bartl am 30.07.2014 um 18:11
Hi Christian! Danke für die schnelle Antwort - diese Einstellung in Word hatte ich drin. Ich habe mich nur gewundert, daß im PDF unter Datei > Eigenschaften > Schriften keine Schriften eingebettet sind. Und beim PDF-Export wird eine bestimmte Schrift im Logo etwas "malträtiert". Wenn ich das Ganze über das "AcrobatPDFMaker Office Com Addin" mache, gibt es keine Probleme und alles wird sauber dargestellt und eingebettet. Allerdings habe ich da nicht so schöne Einstellungsmöglichkeiten...
LG Joachim
Kommentar von Jo Fu am 30.07.2014 um 18:31
Hallo Joachim,
das Makro nutzt die Standardmethode von Word um PDF-Dateien zu speichern. Hast du schon mal probiert ob die Schriften eingebunden werden, wenn du das Dokument manuell über Word als PDF speicherst? Alternativ gibt es sicher eine Möglichkeit per Makro die Export-Funktion des Adobe PlugIns anzusprechen oder den Ausdruck des Dokuments über den Adobe PDF Drucker zu veranlassen - allerdings habe ich damit selbst keine Erfahrung.
lg Christian
Kommentar von Christian Bartl am 30.07.2014 um 18:38
Hi Christian! Also: Beim manuellen Abspeichern über Datei > Speichern unter > (Dateityp PDF) sind die Schriften ebenfalls nicht eingebettet (lt. >Eigenschaften > Schriften im PDF). Wenn ich dagegen über "Datei > Als Adobe PDF speichern" gehe, ist alles bestens. Ich müsste also wirklich das Adobe-Plugin ansprechen... Da weder Du dich noch ich mich damit auskenne, muß ich wohl beim Adobe Addin und manueller Nachbearbeitung bleiben... Schade.
LG Joachim
Kommentar von Jo Fu am 30.07.2014 um 19:02
Grüß euch,
wurde schon versucht, im Word die Option "Schriftarten in der Datei einbetten" zu aktivieren?
(Optionen->Speichern->Häkchen bei "Schriftarten in der Datei einbetten")
Bei mir funktioniert es so ausgezeichnet (Danke übrigens an Christian, das Makro ist spitze!)
LG Kurt
PS: Alle Schriftarten schafft Word natürlich nicht, s.a. https://www.createspace.com/en/community/message/233150
Kommentar von Kurt am 18.04.2015 um 10:59
Echt klasse! Und auch mal eine Anleitung, die kurz und knackig alles wesentliche erklärt! Toll!
Als Anmerkung: Bei mir waren Makros zunächst automatisch deaktiviert, da habe ich bei Schritt 3 die beiden erwähnten formletter2pdf-Makros natürlich nicht zum Kopieren in Normal.dot gefunden. Vielleicht noch einen Halbsatz wie "sicherstellen, dass Makros aktiviert sind" einfügen?
Kommentar von Maren am 01.08.2014 um 10:34
Hallo Maren,
vielen Dank für deinen Hinweis, habe die Anleitung entsprechend deiner Anmerkung erweitert.
lg Christian
Kommentar von Christian Bartl am 01.08.2014 um 14:51
Hallo Christian,
ein wirklich tolles Tool! Vielen Dank!
Das Word spezielle Schriftarten nicht mit nimmt ist wirklich ärgerlich. Mit PDFCreater funktioniert es, dies müsste allerdings angesteuert werden.
Hast Du eine Idee wie ich die erstellten PDF Dokumente anschließend an eine Serien-E-Mail anhänge?
VG
Phillip
Kommentar von Phillip am 01.08.2014 um 11:31
Hallo Phillip,
leider nein, ich müsste mich dazu auch noch einmal tiefer in die Thematik einarbeiten. Vom Ansatz her müsstest du im Code dort wo jede einzelne Datei gespeichert wird ansetzen, um somit den Aufruf der E-Mail-Funktion für jede Einzeldatei zu veranlassen.
lg Christian
Kommentar von Christian Bartl am 01.08.2014 um 14:57
Hallo Christian,
ich habe gerade an die comments@formletter2pdf.com-Mailadresse geantwortet, die Mail kam zurück. Jetzt nochmal über diesen Weg: (nur als Info an dich, nicht als öffentlichen Kommentar vielleicht)
1.
Ich wollte mir gerade die neue Anleitung ansehen - da habe ich gesehen, dass auf der Webseite in der Anleitung der "Schritt 2" jetzt fehlt - die Nummerierung der Schritte passt nicht (mehr).
2.
Ich habe gerade deine Antwort auf die Frage von Phillip gelesen - ist vielleicht die falsche Stelle, aber ich benutze das Tool "MailMerge" (thunderbird), das personalisierte Serienmails erstellt, an die man dann auch individuelle PDF-Attachments dranhängen kann. Das sind dann natürlich 2 Schritte und geht nicht mehr aus deinem Tool heraus.
viele Gruesse
Maren
Kommentar von Maren am 01.08.2014 um 15:10
Hallo Maren,
danke für die Hinweise und den Tipp mit dem Tool. Die E-Mailadresse ist absichtlich nicht aktiv und die Anleitung wird nun vollständig angezeigt.
lg Christian
Kommentar von Christian Bartl am 17.08.2014 um 15:13
Absolut geil! Habe selbst lange herumgebastelt. Hat aber alles nicht so hundertprozentig geklappt. Das hier entspricht voll meinen Wünschen.
Kommentar von Peter am 31.08.2014 um 13:53
Klasse - ein wunderbares Tool, das problemlos funktioniert! Vielen Dank!
Kommentar von Alexander S. am 03.09.2014 um 20:37
Hallo Christian,
Ich würde das Makro gerne in Verbindung mit einer Barcodegenerierungssoftware einsetzen. Wenn ich das Add-In aber aktiviert habe, kann das formletter2pdf-Script keine Exports generieren. Festgestellt habe ich das Problem mit dem Barcode Addin von TEC-IT. (http://www.tec-it.com/de/software/barcode-software/office/word/Default.aspx)
Weisst du in etwa, woran das liegen könnte?
Gruss Flo
Kommentar von Flo am 04.09.2014 um 09:40
Hallo Flo,
einen konkreten Tipp habe ich leider nicht für dich. Was passiert wenn du formletter2pdf aufrufst? Kannst du das Makro gar nicht starten? Bekommst du eine Fehlermeldung?
lg Christian
Kommentar von Christian Bartl am 11.09.2014 um 16:39
Hallo Christian,
Das Makro kann ich aufrufen, nachdem ich den Button betätige auf dem Formletter2pdf Formular, schliesst sich das Dokument und der Process Word.exe läuft im Hintergrund ins endlose. Dabei wird der Folder für den Export erstellt, jedoch keine Dateien erstellt. Den Word.exe Prozess habe ich dann jeweils nach über 15-20 Min. manuell beendet. Ohne aktives Barcode COM-Addin läuft der Prozess rund eine Minute, bis alle Files generiert sind im Exportfolder.
Mfg Flo
Kommentar von Flo am 12.09.2014 um 10:54
Hallo Flo,
hier fehlt mir leider das Plugin um Tests durchzuführen und ich habe aktuell auch keine Idee warum das Zusammenspiel nicht klappen könnte. Funktioniert das Plugin mit der normalen Serienbrieffunktion von Word? Vielleicht erwartet das Plugin bei jeder Generierung eine Eingabe - im Hintergrund wird für jede einzelne Datei ein neues Word-Dokument angelegt.
lg Christian
Kommentar von Christian Bartl am 14.09.2014 um 15:50
Das Plugin läuft mit normalem Serienbrief in Word ohne Probleme. Hast du Zeit dir die Testversion des Addins herunterzuladen bei TEC-IT und das Problem versuchen zu rekonstrurieren? MfG Flo
Kommentar von Flo am 17.09.2014 um 13:23
Hallo Flo,
ich hab das Ganze eben ausprobiert, allerdings auch keine Lösung gefunden. Das Plugin greift so weit in Word ein, dass ich selbst ohne eingefügten Barcode keine Serienbriefe mehr speichern kann.
lg Christian
Kommentar von Christian Bartl am 21.09.2014 um 16:12
Hallo,
eine wirklich sinnvolle Vorlage. Schönen Dank dafür.
Leider habe ich zunächst versucht, die Vorlage unter World-Formatvorlagen zu finden. Dann habe ich Ihre "Word-Seite" aus dem Package als Serienbrief bearbeitet und auf dem Desktop gespeichert. Nach dem Versuch der Datei einen anderen Namen zu geben, konnte die Datei nicht geöffnet werden, da Dateiort verändert wäre.
Folgende Fragen habe ich :
1. Wie ändere ich die Datei auf :
Firma-Bezeichnung-Brief ab?
Herzlichen Dank im Voraus.
Kommentar von Testerin am 04.09.2014 um 11:06
Hallo Testerin,
welche Datei konnte genau nicht mehr geöffnet werden - die Word-Datei oder die Empfängerliste? Wenn du die Word-Datei verschiebst, musst du beim nächsten Öffnen die Datei deiner Empfängerliste neu auswählen. Siehe dazu auch die Anleitung auf der Website.
Um den Dateinamen deiner generierten Briefe zu verändern musst die die Vorgabe im Feld "file name pattern" verändern. Wenn wir davon ausgehen, dass Firma ein Feld in deiner Empfängerliste und Bezeichnung-Brief ein fixer Bestandteil des Dateinamens ist, lautet dein Pattern wie folgt: {Firma}-Bezeichnung-Brief
lg Christian
Kommentar von Christian Bartl am 11.09.2014 um 16:45
Hallo Christian,
ich bekommen keine Dateien generiert. Folgende Fehlermeldungen erscheint:
"formletter2pdf has been aborted, because an invalid name has been detected. Please check the values of the fields used in the file name pattern for invalid characters an run formletter2pdf again."
Ich möchte Dateien erzeugen, welche als erstes den Namen der ersten Spalte meiner Excel-Datei auswirft und dann die Bezeichnung Adressänderung-Christian hinten anstellt.
Wie schaffe ich das?
Kommentar von Christian am 02.12.2014 um 22:28
Hallo Christian,
die erhaltene Fehlermeldung zeigt an, dass ein oder mehrere deiner Werte aus den Spalten, die du für die Generierung des Dateinamens benutzt, Zeichen enthält die in Dateinamen vom System her nicht erlaubt sind. Sobald du diese Zeichen aus deiner Datenquelle entfernst, sollte formletter2pdf die Dateien erzeugen. Die gängigsten Sonderzeichen werden automatisch entfernt - vermutlich hast du hier ein Unicode-Zeichen oder Ähnliches in deinen Werten.
Siehe dazu auch den FAQ-Eintrag "Warum fehlen gewisse Zeichen in meinen Dateinamen, obwohl diese im Pattern angegeben oder in den Werten der Datenfelder enthalten sind?"
lg Christian
Kommentar von Christian Bartl am 05.12.2014 um 17:02
Got Error 4198 on SaveAs pdf command line, regardless of filename. Looked at all the varianbles and could not find anyting wrong.
Changed the error handler to RESUME NEXT and everythig works fine. MSDN thinks it is a conflict with another add on. Could there be a Problem with PDFCreator?
Kommentar von Michael K. am 09.09.2014 um 12:39
Hi Michael,
the error codes of Microsoft Word are not always clear and sometimes they represent other reasons than described in the error messages of formletter2pdf.
I do not have PDFCreator installed on my system so I cannot tell if this add-on causes problems with formletter2pdf. There is nothing wrong about your workaround. But notice that you won’t get notified any longer if files with wrong characters are not created.
lg Christian
Kommentar von Christian Bartl am 11.09.2014 um 16:58
as it does give the error only at the second or third letter Generation and my PDF has about 600 kb perhaps there is a Problem that the program wants to go into the next Loop while the SaveAs command is still executing. I tried with sleep(5000) after the SaveAs command but that did not help.
Kommentar von Michael K. am 11.09.2014 um 17:18
Hi Micheal,
are you sure you do not have a problem based on not allowed characters or too long file names? Word will hang if it is not able to save the files. Do you have the same problem with the sample file included in the download package?
lg Christian
Kommentar von Christian Bartl am 14.09.2014 um 16:00
Yes I am 100 % sure that the filenames which consist of the 1st letter of the First Name and 4 letters of the surname are all valid. The first pdf is always created correctly the error only comes up at the second, third or forth pdf. Therefore I think it is a timing issue. And if I elimnate the error with "RESUME NEXT" the programm works perfectly.
Kommentar von Michael K. am 15.09.2014 um 12:56
Gibt es neben den Zeichen (: \ / ? : * " < > |) weitere Einschränkungen bei den Feldern?
Felder mit - wie Namen-ID gehen bei mir nicht.
Als Dateiname kommt {Namen-ID}.pdf raus.
Kommentar von Armin K. am 17.09.2014 um 14:18
Hallo Armin,
In der Tat verändert Word die Spaltennamen und entfernt dabei gewisse Sonderzeichen (unter anderem auch den Bindestrich). D.h. du musst in diesem Fall den durch Word definierten Spaltennamen verwenden. Am einfachsten findest du diesen heraus, wenn du dir unter dem Menüpunkt "Sendungen" -> "Seriendruckfeld einfügen" die verfügbaren Spaltennamen ansiehst. Welche Zeichen das im Detail betrifft, kann ich dir leider auch nicht sagen. Die von dir erwähnten Zeichen beziehen sich in jedem Fall nur auf die Vorgaben des Dateisystem unter Windows.
lg Christian
Kommentar von Christian Bartl am 21.09.2014 um 15:07
Ich habe einen Serienbrief erstellt, welcher nur für deutschsprachige Empfänger erstellt werden soll.
Daher steht in der ersten Zeile:
{SKIPIF "{MERGEFIELD "Sprache"} <> "D" }
Diese Zeile bewirkt jedoch, dass das Makro nicht funktioniert, es wird "Error 5631" ausgegeben.
Gibt es hierzu eine Lösung?
MfG MV
Kommentar von Mike V. am 23.09.2014 um 13:18
Hallo Mike,
mit den Bedingungen innerhalb des Word-Dokuments habe ich selbst nich nicht gearbeitet. Ich würde dir empfehlen das Makro anzupassen und diese Bedingung direkt in den Code zu integrieren. Dazu kannst du in der Funktion create_Click() ab Zeile 257 von formletter2pdf_form eine entsprechende Abfrage einbauen. Dort wird jetzt schon die Erstellung einzelner Dateien übersprungen wenn alle Datenfelder leer sind.
Der dafür notwendige Code sollte dabei in etwa so aussehen:
If .DataFields("Sprache").Value <> "D"
Counter = Counter - 1
GoTo NextLoop
End If
lg Christian
Kommentar von Christian Bartl am 27.09.2014 um 10:57
Hallo,
ich habe einen Serienbrief mit MS2003 erstellt. es kommen 1.800 Seiten heraus. Das Dokument basiert auf ca 30 Spalten eines Excelsheets.
Problem: Der Empfänger wünscht einzelne Dateien und ich will den bereits erstellten Serienbrief nicht neu erstellen müssen
Frage: Kann ich mit Ihrem Tool für den bereits erstellen Serienbrief (als die Basis mit den Datenquellen) noch einzelne Dateien erzeugen lassen oder funktioniert Ihr Tool nur, wenn ich den Serienbrief von Anfang an neu aufbaue?
Kommentar von paul am 13.10.2014 um 12:26
Hallo Paul,
diesen Fall deckt mein Tool leider nicht ab, da es darauf angewiesen ist einzelne Dokumente erstellen zu können.
lg Christian
Kommentar von Christian Bartl am 13.10.2014 um 17:37
Ich glaube, Sie haben mich falsch verstanden. Nach Installation kann ich dann Ihr Tool in Serienbrief Master schon anwebden und vieke Dateien erzeugen?
Kommentar von paul am 13.10.2014 um 18:44
Hallo Paul,
nein, dass Tool braucht die Originaldatei mit der Empfängerliste. Aus einem fertig zusammengeführten Serienbrief kann es keine einzelnen Dateien speichern, da ja bereits alle Dokumente in einer Datei sind.
lg Christian
Kommentar von Christian Bartl am 13.10.2014 um 19:44
Nein. Mein serienbriefmaster enthaelt nur die links zur Quelldatei. Die Druckdatei ist erst der naechste Schritt. Mir ist es wichtig nicht alle Links neu setzen zu muessen und meine Frage war, ob ich nach Installation Ihres Tools und nach Oeffnen des vorbereteten Masters dann Ihren Button im Dokument vorfinde, mit dem ich dann die einzelnen Dateien anstatt det bei MS ueblichen einen Druckdatei erzeugen kann. Jetzt sollte meine Frage aber klar sein. VH
Kommentar von paul am 13.10.2014 um 20:29
Hallo Paul,
leider kann ich Ihnen immer noch nicht ganz folgen. Am besten Sie probieren es anhand der Anleitung einfach einmal aus - zerstören können Sie Ihr Dokument dadurch nicht.
lg Christian
Kommentar von Christian Bartl am 13.10.2014 um 21:46
Klasse Makro, vielen Dank!
Ich persönlich würde gern den Speicherort der Dateien und die Namensgebung (Spalte ID) festlegen, da diese immer gleich sind. Somit würde ich einige KLICKs sparen.
Vielleicht wären hierzu zwei verschiedene Makros gut.
Danke und Gruß
Gerhard
Kommentar von Gerhard am 20.10.2014 um 11:25
Hallo Gerhard,
dazu bedarf es keiner eigenen Version des Makros, du kannst die Standardwerte für die einzelnen Felder wie folgt setzen:
Der Wert für "folder name" und "file name pattern" sind direkt als Text-Value in die Formularfelder eingetragen und können über den Makro-Editor direkt im GUI gesetzt werden. Der Pfad von "save to" wird im Quellcode des Formulars am Anfang der Funktion "UserForm_Initialize()" gesetzt.
lg Christian
Kommentar von Christian Bartl am 20.10.2014 um 18:40
Hallo Christian,
vielen Dank für dieses hervorragende Werkzeug. Da ich eine "Spezialfall"-Anwendung benötigte, habe ich auf Deinem Original aufbauend ein "Derivat" erstellt. Dieses kann bei Erstellung von Briefen, z.B. für eine Gruppe von Kundenbetreuern, die erstellten Briefe für diverse Kunden des Betreuers, jeweils in den eigenen Unterordner dieses Betreuers schreiben. Basisorder bleibt der Desktop oder der entsprechend ausgewählte Ordner. Dafür musste natürlich die Replace-Funktion auch auf "Folder" angewendet werden.
Dies hat mir die Verteilung von ca. 1000 Briefen auf ca. 20 Betreuer erheblich vereinfacht.
Musste dafür Deinen Code natürlich ein wenig anpassen.
Ich teile das gerne, wenn gewünscht.
Viele Grüße und nochmals Danke für Deine tolle Arbeit!
Arne
Kommentar von Arne B. am 23.11.2014 um 11:54
Schon lange habe ich nach einer Möglichkeit gesucht, aus einem Serienbriefdokument jede Seite als einzelne Datei zu generieren. Und endlich bin ich fündig geworden - DANKE!
Ich habe zuvor noch nie mit Makros gearbeitet. Deshalb war es für mich (mit Office for Mac 2011) ein bisschen knifflig, anhand der Beschreibung herauszufinden, wie ich Schritt für Schritt vorgehen muss. Aber am Ende hat es funktioniert und ich erspare mir in Zukunft unglaublich viel Zeit und Mühe - toll!!!
Viiielen Dank für deine Idee, ein Makro für diese Funktion zu bauen und es hier kostenlos zur Verfügung zu stellen. Das hat mir SEHR geholfen.
P.S.: Noch eine kleine Anregung am Rande: Falls du mal Zeit hast, wäre es für andere Mac-User mit Office sicherlich hilfreich, eine eigene Anleitung zu haben, da die Oberfläche doch ein wenig anders aussieht als bei Windows. Und nicht jeder ist ein Makro-Crack und weiß, wie man die Vorlagen anpasst ;)
Kommentar von Mirjam am 12.01.2015 um 19:08
Hallo Mirjam,
vielen Dank für das viele Lob. Ich werde bei Gelegenheit bzw. vermutlich mit Erscheinen der neuen Office-Version für Mac eine entsprechende Anleitung ergänzen.
lg Christian
Kommentar von Christian Bartl am 13.01.2015 um 21:12
Eines der nützlichsten Tools, die ich bisher gefunden habe. Funktioniert (Mit Word-Dokumenten) einwandfrei!
Kommentar von Stephan R. am 20.01.2015 um 16:05
Tolles Tool. Leider bricht der Export meines Serienbriefes immer nach einer unbestimmten Anzahl erstellter Dokumente ab mit der Fehlermeldung: "formletter2pdf has been aborted, because an invalid file name has been detected. (...)". Es betrifft sowohl den PDF als auch den Word Export. Mal werden aus demselben Serienbrief 24 Dokumente exportiert, mal sind es 81 oder nur 12. Die Einträge, bei denen abgebrochen wird, unterscheiden sich von den Zeichen her in keinster Weise von den Einträgen, die problemlos durchlaufen. Es scheint vollkommen willkürlich, wann das Programm abbricht.
Ich nutze Office 2013.
Wäre über Abhilfe sehr dankbar.
Kommentar von Bettina V. am 23.01.2015 um 16:07
Hallo B.,
wenn das Makro mit derselben Quelle immer an unterschiedlichen Stellen abbricht, ist es für mich ohne deine Dokumente zu kennen, leider sehr schwer den Fehler zu analysieren.
Die von dir beschriebene Fehlermeldung erscheint immer dann, wenn Word die Datei nicht speichern konnte. Das kann einerseits an für Dateinamen ungültigen Zeichen in deiner Quelle liegen oder andererseits auch an der Überschreitung der maximalen Datei- bzw. Pfadlänge.
Hast du schon einmal versucht, deiner Quelle eine fortlaufende Nummer pro Empfänger zuzuweisen und diese als Dateinamen zu nutzen? Läuft der Export dann durch?
lg Christian
Kommentar von Christian Bartl am 25.01.2015 um 11:38
Hallo Christian,
die Einträge haben eine dreistellige ID, die habe ich gerade als Dateinamen gewählt. Da hat das Makro bereits nach vier Einträgen abgebrochen. Davor hatte ich es mit längerem Dateinamen immerhin auf 113 Einträge geschafft. Bringt es was, wenn ich dir die Dateien mal schicke?
LG
Bettina
Kommentar von Bettina am 26.01.2015 um 08:37
P.S. Die Quelle hat 232 Einträge. Ist das evtl. zu viel?
LG
Bettina
Kommentar von Bettina am 26.01.2015 um 08:38
Hallo Bettina,
nachdem ich das Problem selbst nicht nachstellen kann, würde es mir in jedem Fall helfen, wenn du mir deinen Serienbrief senden könntest. Du kannst mir das Word-Dokument und die Empfängerliste (bei Bedarf bitte anonymisieren) per E-Mail an webmaster@bartlweb.net senden, dann sehe ich mir das in den nächsten Tagen einmal an.
Eine Grenze wie viele Dateien erzeugt werden gibt es nicht. 232 Einträge sollten in jedem Fall funktioniern, hatte das Makro bereits mit mehr als 1000 Dateien erfolgreich im Einsatz.
lg Christian
Kommentar von Christian Bartl am 27.01.2015 um 17:16
Hallo Bettina,
ich habe deine Dokumente bei mir unter Office 2013 ausprobiert, konnte dein Problem allerdings nicht nachstellen. Folgende Szenarien fallen mir ein, warum bei dir die Erstellung fehlschlagen könnte:
- du öffnest die Datei von einem Netzlaufwerk: Versuche einmal Word- und Excel-Datei auf deinen Desktop zu legen und auch als Speicherziel den Desktop auszuwählen.
- du hast die Excel-Datei oder andere Word-Dokumente im Hintergrund geöffnet: Öffne nur das eine Word-Dokument und binde die Datei über "Empfänger auswählen" -> "Vorhandene Liste verwenden" ein, ohne eine der Optionen "NeueSQLServerVerbindung" bzw. "Verbindung mit neue Datenquelle herstellen" zu nutzen.
- es laufen zu viele rechenintensive Aufgaben auf deinem PC gleichzeitig und dieser ist mit der Erstellung der PDFs überfordert: Probiere doch einmal die Dokumente auf einem anderen PC zu erstellen.
lg Christian
Kommentar von Christian Bartl am 01.02.2015 um 13:08
Hallo Christian,
vielen Dank deinen Test und die Lösungsvorschläge.
Ich habe einen Teilerfolg erzielt, indem ich einfach mal alle laufenden Anwendungen geschlossen habe und dann nur den Serienbrief ausgeführt habe. Statt PDF habe ich den Word-Export gewählt. Damit hat es nunwiederholt geklappt :-). Der Export aller 230 Einträge / Dateien dauert 10 Minuten.
Wenn ich allerdings den PDF-Export wähle, bricht das Programm nach einer Weile wieder ab.
Die Fehlerquelle Netzlaufwerk kann ich ausschließen, da ich nach den ersten Fehlversuchen mit beiden Dateien auf den Desktop gewechselt bin.
Ich habe es auch auf einem anderen Rechner getestet. Der hat eine hohe Rechenleistung. Läuft allerdings unter Windows 8. Auch hier ist der PDF-Export abgebrochen...
Falls du noch eine Idee hast...
Viele Grüße
Bettina
Kommentar von Bettina V. am 02.02.2015 um 11:23
Hallo Chistian, wenn ich so die Kommentare lese top Tool. Ich möchte es auch gerne nutzen und habe es wie in deiner Anleitung eingebunden. Habe auch schon einen Serienbrief an dem ich es gerne anwenden würde. Leider kommt wenn ich das Makro in der Symbolleiste anklicke nur eine Warnung dass das Makro nicht gefunden oder deaktiviert wurde. In den Makroschutz einstellungen habe ich alle Makros aktiviert. Kannst du da evtl. weiterhelfen?
Vielen Dank Michael
Kommentar von Michael am 23.01.2015 um 22:22
Hallo Michael,
startet formletter2pdf, wenn du das Makro direkt über den Punkt "Makro" aus dem Menü von Word aufrufst? Vielleicht zeigt einfach nur dein Schnellstart-Icon ins Leere oder du hast das Makro nicht in die globale Vorlage bzw. dein aktuelles Dokument integriert.
lg Christian
Kommentar von Christian Bartl am 25.01.2015 um 11:42
Hallo Christian,
einfach super. Allerdings habe ich ein Problem. In der Word-Vorlage sind einige Rahmen, bzw. Linien zur Textgestaltung(Tabelle) eingefügt. Wenn ich die Word-Datei als pdf speicher werden alle Linien übernommen. Bei deinem Tool fehlen leider einige, nicht alle. Habe schon einiges probiert, jedoch noch keine Lösung gefunden .
Zudem habe ich noch die Frage, ob man die Feldnamen in dem Formular z. B. "ID" fest ändern kann. Ich nutze immer die gleiche Wordvorlage mit den gleichen Feldnamen.
Schöne Grüße
Jürgen
Kommentar von Jürgen H. am 29.01.2015 um 17:37
Hallo Jürgen,
nachdem deine Fragen immer wieder auftachen habe ich die Antworten dazu unter den FAQs ergänzt.
lg Christian
Kommentar von Christian Bartl am 01.02.2015 um 11:49
Hallo Christian, dein Makro funktioniert einwandfrei wie beschrieben. Super, danke!!
Manchmal benutze ich allerdings Worddocumente mit Kopf- und Fusszeile und diese werden leider nicht mitkopiert. Da diese Documente von einem anderen Programm generiert werden, kann ich die Vorlage nicht aendern.
Vielleicht hast du eine Loesung fuer diesen Spezialfall.
Vielen Dank, mit besten Gruessen
Thomas
Kommentar von Thomas B. am 30.01.2015 um 12:51
Hallo Thomas,
leider kannst du darauf ohne die Vorlage zu Bearbeiten keinen Einfluss nehmen. Eine genau Erklärung habe ich eben unter den FAQs ergänzt.
lg Christian
Kommentar von Christian Bartl am 01.02.2015 um 11:50
Hallo,
eine Frage, ist es möglich, über das Makro auch PDFs ohne OCR-Informationen zu generieren?
Kommentar von Raen am 13.03.2015 um 16:38
Hallo Raen,
so weit ich das richtige verstehe, möchtest du verhindern, dass der Inhalt des PDF-Dokuments weiterverarbeitet werden kann. Microsoft Word bietet dafür keine Einstellungsmöglichkeiten. Adobe Acrobat bietet allerdings entsprechende Optionen für den Schutz von PDF-Dokumenten. Über die Stapelverarbeitung sollten die generierten Dateien nachträglich in einem Rutsch entsprechend bearbeitet werden können.
lg Christian
Kommentar von Christian Bartl am 28.03.2015 um 22:20
Einfach genial. Funktioniert perfekt mit Office 2013 und speichern als PDF.
Kommentar von Anonym am 10.04.2015 um 13:19
Hallo,
das Makro funktioniert wunderbar, vielen Dank für die Veröffentlichung!
Eine Frage hätte ich:
Ist es möglich, dass der Dateiname des Serienbrief-Dokuments ausgelesen wird und als Bestandteil der Dateinamen der erstellten PDFs im Eingabeformular verwendet werden kann?
Z.B. Ausgabename der PDFs = [Serienbrief-Dateiname]-{ID}
Gruß
Topper
Kommentar von Topper am 16.04.2015 um 15:29
Hallo Topper,
ich habe eben eine neue Version des Makros veröffentlicht in dem du über den Marker {%filename%} den Dateinamen des aktuellen Word-Dokuments im Feld "file name pattern" einfügen kannst.
lg Christian
Kommentar von Christian Bartl am 18.04.2015 um 16:31
Fantastisch! Vielen Dank für das super Makro!
Kommentar von Christian am 21.04.2015 um 09:18
Hallo!
Ich habe das Tool gerade heruntergeladen und es macht (fast), was es soll. Fast??? Leider habe ich die gleichen Probleme, über die schon 2014 berichtet wurde: Kopf- und Fußzeilen fehlen, egal ob ich nach Word oder PDF exportiere. Erstelle ich den Serienbrief in Word in eine fette Datei, ist alles ok...
Hoffentlich kann der Bug behoben werden. So war es ein netter Test, aber leider nicht zu gebrauchen. Oder fehlt mir ein Tipp???
Meine Konfiguration: iMac, OS X 10.10.3, Word für Mac 2011 14.5.1.
Liebe Grüße von Olaf
Kommentar von Olaf G. am 07.06.2015 um 17:47
Hallo Olaf,
das Tool nutzt die PDF-Export-Funktion von Microsoft Word die leider hin und wieder das von dir beschriebene Problem verursacht. Eine Lösung von Seiten des Makros aus gibt es leider nicht. Abhilfe schafft meiner Erfahrung nach nur das Dokument (insbesondere Kopf- und Fußzeile) so lange zu verändern bis das Problem nicht mehr auftritt bzw. das Dokument zur Gänze neu zu erstellen.
lg Christian
Kommentar von Christian Bartl am 08.06.2015 um 17:09
Hallo Christian,
und wenn ich aus einem docx mehrere docx mit Deinem Tool erstelle, dann hat das trotzdem was mit PDF zu tun? Ich bin da nicht fit und wundere mich...
Gruß Olaf
Kommentar von Olaf G. am 08.06.2015 um 17:21
Hallo Olaf,
das Tool nutzt für dier Erstellung der einzelnen Dokumente die Serienbrieffunktion von Word und greift die Inhalte des Dokuments nicht an. Leider kann ich dir hier nicht weiterhelfen.
lg Christian
Kommentar von Christian Bartl am 08.06.2015 um 17:49
Hatte schon die Version 1.2 glaube ich und die hat super funktioniert, heute hab ich mir die neue Version runtergeladen. Makro läuft auch gerade. Allerdings schon seit heute Morgen um acht. Insgesamt sind es 60 Dokumente die erstellt werden müssten. Beim letzten Mal hat das auch schon so lange gedauert, da musste ich meinen Rechner über Nacht an lassen, das wird wohl heute auch der Fall sein, da gerade erst 40 Dateien fertig sind und ich gleich Feierabend habe. Ist das normal oder liegt das an meinem Serienbrief? Es ist ein Brief über zwei Seiten mit sehr sehr vielen Seriendruckfeldern.
Vielleicht hat ja einer eine Erklärung dafür :)
Kommentar von Ines am 19.06.2015 um 14:47
Hallo Ines,
mit einem modernen Rechner sollte die Erstellung von 60 Dokumenten eigentlich nur wenige Minuten, abhängig von der Komplexität und des Umfangs des Serienbriefs, dauern. Eine mögliche Erklärung warum das bei dir so lange dauert habe ich leider nicht.
lg Christian
Kommentar von Christian Bartl am 19.06.2015 um 22:00
Hallo, vielen Dank für das Makro.
Wie auch in der alten Version würde ich gerne den Ordnern individuelle, von den Serienbrief-Daten abhängige Namen vergeben. Zudem würde ich gerne das Verzeichnis automatisch suchen lassen, je nachdem, in welchem Jahr die Person eingetragen wurde. Hierzu habe ich in beiden Fällen versucht, über die Standardwerte "G:\-{AZ_Jahr}_20{AZ_Jahr}" bzw. "-{Aktenzeichen}_{Familienname}_{Arbeitgeber}" die Ordner zu benennen. Dies klappt leider nicht. Das Verzeichnis kann nicht automatisch gesucht werden. Der neu erstellte Ordner heißt dann genau so, wie oben eingetragen, die Werte werden nicht übernommen. Auch der Dateiname heißt bei mir "{%timestamp%}_BES_Test.pdf", hier wird ebenfalls kein Wert für den Timestamp eingefügt. Kann ich den Timestamp auch auf YYMMDD ändern?
Als drittes habe ich das Problem, dass ich gerne bei der Erstellung der Ordner berücksichtigt werden soll, dass es einen Ordner schon geben könnnte, in diesem Fall einfach die Datei im vorhandenen Ordner abgelegt wird.
Ich hoffe ich konnte alles relativ verständlich ausdrücken. Vielen Dank für deiine Hilfe.
Kommentar von Nils am 24.06.2015 um 10:51
Hallo Nils,
die von dir beschriebenen Anforderungen gehen schon in Richtung strukturierte Ablage von Dateien. Darauf ist das Makro aktuell nicht ausgelegt, wie du bereits daran merkst, dass die die einzelnen Marker nur jeweils im Feld Ordnername oder Dateiname funktioniert aber nicht über Kreuz. Die Umsetzung der Anforderung ist natürlich möglich und auch nicht weiter komplex, würde aber einen größeren Umbau des Makros bedeuten.
lg Christian
Kommentar von Christian Bartl am 27.06.2015 um 17:37
Einfach nur: "Danke!"
Kommentar von Nicole am 16.07.2015 um 11:49
Das ist wirklich ein tolles Makro,
die alte Version hat bei mir plötzlich Probleme gemacht! Das nun aber ist aber nochmal einfach und besser!
SUPER ARBEIT!
Kommentar von Maxim R. am 24.07.2015 um 13:09
Ich mache für eine Laienproduktion die Tickets und habe das mittels Word Serienbrief gemacht. Da zuviel Handarbeit habe ich nach etwas automatisierung gesucht und bin auf diese Lösung gestossen. Genial. Nur bin ich jetzt am verzweifeln. Das Makro läuft auf meinem Geschäfts PC sauber wie gewünscht. Zuhause aber "bricht" das Makro bei .Execute Pause:=False ohne Fehlermeldung ab. Beim Debuggen sehe ich dass etwas gemacht wird und unter Projekte eine "Serienbrief1" eröffnet wird... aber es passiert nichts mehr weiter. Hat jemand eine Idee woran das liegen könnte? Ich benutze Office 2013 und Windows 8.1. Danke im Voraus!
Kommentar von Stibe am 11.08.2015 um 08:48
Hallo Stibe,
läuft die Beispieldatei auf deinem Heim-PC oder bricht auch diese ab? Hast du schon einmal versucht den Zielordner anderes zu wählen? Hast du eventuell an deiner Empfängerliste etwas verändert? Ist auf deinem Geschäfts-PC auch Office 2013 installiert?
lg Christian
Kommentar von Christian Bartl am 11.08.2015 um 19:26
Hallo, das ist ein super Makro, genau das was ich brauche.
Allerdings wird bei meinem Serienbrief immer nur das erste Dokument erstellt.
Mit deinem Probedokument hat alles einwandfrei funktioniert und auch bei meiner erstellten Datei funktioniert soweit alles ohne Probleme. Hast du eine Idee, weshalb das Makro nach der ersten Datei abbricht? Es kommt auch keine Fehlermeldung sondern lediglich:
"1 Formletter exported successfully!"
Ich verwende Office 2007...
Über einen Tip wäre ich sehr dankbar!
Beste Grüße und vielen Dank
Christoph
Kommentar von Christoph I. am 24.08.2015 um 08:21
kleine Ergänzung:
ich habe den Serienbrief auf Basis eines Verzeichnisses erstellt und verwende als "Adressliste" eine externe Excelliste, da es sich bei dem Serienbrief um Datenblätter handelt.
Wie jedoch bereits erwähnt, werden die Daten des ersten Dokuments einwandfrei übernommen.
Das Erstellen der Einzelbriefe in Word funktioniert auch einwandfrei und das große Gesamtdokument lässt sich als auch PDF speichern.
Danke für die Hilfe im Voraus
Beste Grüße
Christoph Ionescu
Kommentar von Christoph I. am 24.08.2015 um 08:36
Hallo Christoph,
zwei Ideen woran es liegen könnte habe ich:
- Hast du eventuell den Serienbrief schon durch "Fertig stellen und zusammenführen" erstellt und das Makro erst dann ausgeführt. Das Makro muss nämlich vor diesem Schritt ausgeführt werden.
- Hast du eventuell die Emfängerliste in Word durch einen Filter eingeschränkt?
lg Christian
Kommentar von Christian Bartl am 26.08.2015 um 20:57
Hallo Christian,
tolles Makro!! Danke, dass du uns das Arbeitsleben erleichtert hast ;-)
Leider habe ich ein ähnliches Problem wie Simon (Kommentar vom 30.06.2014). Die eingefügten Bilder werden nicht automatisch aktualisiert (Word) bzw. gar nicht angezeigt (pdf). Seltsamerweise hat es beim ersten Mal funktioniert, danach nicht mehr. Hast du eine Idee, woran es liegen könnte?
Vielen Dank im Voraus für deine Antwort!
Kommentar von Sigrid am 03.09.2015 um 15:09
Hallo Sigrid,
leider nein. Die von Simon damals angemerkte Lösung mit dem Updaten des Dokuments habe ich in den Code eingebaut. Ich hatte allerdings auch noch nie ein Dokument mit dynamisch eingefügten Bildern um das Ganze zu testen.
Du erwähnst, dass die Bilder im PDF komplett fehlen. Sind die Bilder enthalten wenn du das Word-Dokument als PDF speicherst oder fehlen diese nur in den durch das Makro erstellten PDFs? Funktionieren die Bilder aktuell auch noch wenn du einmal testweise das Dokument fertigstellst und zusammenführst?
lg Christian
Kommentar von Christian Bartl am 03.09.2015 um 21:36
Guten Morgen Christian,
Danke für die schnelle Rückmeldung :-)
Die Bilder werden bei Anwendung des Makros (Word und pdf) nur nicht automatisch aktualisiert, d.h. es wird folgendes angezeigt "Das verknüpfte Bild kann nicht angezeigt werden. Möglicherweise wurde die Datei verschoben, umbenannt oder gelöscht. Stellen Sie sicher, dass die Verknüpfung auf die korrekte Datei und den korrekten Standort zeigt."
Wenn ich vor Anwendung des Makros das Serienbriefdokument manuell aktualisiere (Strg A + F9) dann wird das Bild des aktuellen Datensatzes richtig angezeigt, allerdings ist dann nach Anwendung des Makros in jedem Dokument (Datensatz) das selbe Bild enthalten.
Wenn ich das Dokument fertigstelle und zusammenführe sind alle Datensätze in einem einzigen Dokument enthalten, sodass nach dem manuellen Aktualisieren (Str A + F9) auch alle Bilder korrekt angezeigt werden.
Also die Verknüpfung der Bilder an sich funktioniert.
Danke Vorab für deine Antwort!
Kommentar von Sigrid am 04.09.2015 um 08:11
Hallo Sigrid,
ich habe gerade noch einmal einen Blick in den Code geworfen. Dort habe ich zwar die damalige Lösung von Simon eingebaut, aber da ich mir nicht sicher war, ob der Effekt immer gewünscht ist, diesen Code-Teil auskommentiert.
Wenn du in Word im Dialog Makros das Makro "formletter2pdf" auswählst und dann auf Bearbeiten gehst und dort in der Baumstruktur unter Formulare -> formletter2pdf_form mit Rechstklick den Punkt "Code anzeigen" wählst, kannst du die Zeile aktivieren. Lösche dazu das Zeichen ' vor "ActiveDocument.Fields.Update" in der Zeile 305. Danach sollte es eigentlich funktonieren.
lg Christian
Kommentar von Christian Bartl am 06.09.2015 um 17:51
Guten Morgen Christian,
jetzt funktioniert es problemlos!!!
Vielen lieben Dank für Deine Hilfe :-)
Mein Tag fängt gut an ;-)
LG
Sigrid
Kommentar von Sigrid am 08.09.2015 um 08:06
Hallo,
super funktion udn alles funktionert nur wenn ich die einzeln gespeicherten Dateien oeffne ist das Dokument fast leer und hat nur fogenden Text: "Word found locked fields during the update. Word cannot update locked fields."
Was muss ich machen?
Beste Gruesse,
Veit
Kommentar von Veit am 24.09.2015 um 14:00
Hallo Veit,
das Problem hatte ich selbst bisher noch nicht. Eine schnelle Recherche hat folgende 3 Lösungsvorschläge zu Tage gebracht, wobei Nummer 3 am wahrscheinlichsten ist:
http://paralaw.com/helpdesk/knowledgebase.php?article=25
lg Christian
Kommentar von Christian Bartl am 29.09.2015 um 19:03
Hallo Christian,
entschuldige bitte, dass ich dich belästige, aber ich muss mit deinem tollen Marco die PDF-Files generieren, aber leider werden die Kopf- und Fusszeilen nicht mit gedruckt.
Hast du da eine Idee?
Vielen Dank für deine Antwort.
Andreas
Kommentar von Andreas am 29.09.2015 um 19:06
Hallo Andreas,
leider nein. Das Problem beschreiben viele Nutzer, wobei ich ausschließen kann, hier etwas durch Änderung der Programmierung bewirken zu können. Bisher hat nur das Neuanlegen des Worddokuments bzw. das Verändern von Kopf- und Fußzeile für Abhilfe gesorgt.
Lg Christian
Kommentar von Christian Bartl am 29.09.2015 um 19:08
Hallo Christian,
vielen Dank für dein Feedback. Das habe ich auch festgestellt. Ich habe die Kopf- und Fußzeilen neu bzw. anders definiert und der Druck funktionierte.
Nur die Dauer der Erstellung der PDF-Files dauerte sehr lange (500 Briefe ca. 4 Stunden). Ich denke, da waren die Abfragen im Serienbrief sehr diffizil.
LG Andreas
Kommentar von Andreas am 30.09.2015 um 20:56
Hallo!
Super tool!
Leider werden meine Lesezeichen nicht in die PDFs exportiert.
Ist das irgendwie zu machen?
Beim manuellen Speichern als PDF kann dies als Option angegeben werden.
Kommentar von Andreas G. am 13.10.2015 um 12:59
Damit vielleicht?
http://www.ms-office-forum.net/forum/showthread.php?t=287722
Kommentar von Andreas G. am 13.10.2015 um 13:05
Hallo Andreas,
ich hab den von dir gefundenen Makro-Code eben ausprobiert. Dieser ist prinzipiell nutzbar um die PDF-Ausgabe zu optimieren und auch den Export der Lesezeichen (Textmarken) anzustoßen. Nur leider entfernt Word beim Erstellen des Serienbriefs (kannst du selber mit der Funktion Fertigstellen und Zusammenführen testen) alle Textmarken und daher können diese auch nicht mitexportiert werden.
lg Christian
Kommentar von Christian Bartl am 16.10.2015 um 16:48
Hallo Andreas,
hier noch die Code-Zeile für den PDF-Export mit Optionen die ich in Zeile 364 getauscht habe, falls du selbst noch etwas experimentieren möchtest.
ActiveDocument.ExportAsFixedFormat OutputFileName:=Targetfile & "pdf", ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:=wdExportAllDocument, Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:=wdExportCreateWordBookmarks, DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=False
lg Christian
Kommentar von Christian Bartl am 23.10.2015 um 14:40
Vielen Dank für das klasse Makro. Es funktioniert und hilft sehr.
Allerdings muss man die Werte jedesmal neu eingeben, wenn man es startet.
Schön wäre es, wenn es sich die Werte der letzten Anwendung als Neustart (rerun) merkt.
Kommentar von Reinhard am 11.11.2015 um 16:53
Hallo Reinhard,
das mit dem Speichern der Einstellungen ist gar keine so triviale Sache. Prinzipiell kannst du im Quellcode der Hauptfunktion bereits Standardwerte die deinen Anforderungen entsprechen vorgeben. Die Code-Zeilen sind entsprechend kommentiert.
Ich habe heute außerdem eine neue Version veröffentlicht, die sich zumindest dann die Werte merkt, wenn das Makro (ohne Word zwischendurch zu schließen) mehrmals hintereinander ausgeführt wird.
lg Christian
Kommentar von Christian Bartl am 15.11.2015 um 21:04
Lieber Christian,
was mache ich falsch. Ich habe noch immer die Funktionsweise der V2.2, wo immer zuerst die zu überschreibenden Standardweerte auftauchen. Ich habe aber die V2.3 geladen. Oder liegt es daran, dass der genutzte Serienbrief noch in V2.2 abgespeichert war, und der dann die auch geöffnete V2.3 überschreibt? Danke für die Hilfe!
VG Reinhard
Kommentar von Reinhard am 16.11.2015 um 19:39
Hallo Reinhard,
wenn in der Oberfläche des Makros am unteren Rand v2.3 steht, dann steht auch die Funktionalität von v2.3 bereit. Falls nicht, hast du das Makro in deinem bestehenden Dokument noch nicht ersetzt.
Die Standardwerte kannst du selbst im Code des Moduls formletter2pdf setzen (siehe auch FAQ). Dort kannst du bei Bedarf auch leere Werte definieren, damit beim ersten Aufruf keine Vorgaben gemacht werden. Die Werte werden auch in der neuen Version nur dann zwischengespeichert wenn das Makro in Word mehrmals hintereinander ausgeführt wird und das Dokument in der Zwischenzeit nicht geschlossen wurde. Willst du Standardwerte für die nächste Nutzung des Dokuments vorgeben, dann musst du diese wie zuvor erwähnt im Code des Makros angeben.
lg Christian
Kommentar von Christian Bartl am 16.11.2015 um 21:10
Hallo,
ich hab das Makro über die Funktion - Orgranisieren... - in die Normal.dot kopiert. Nun wollte ich es auf eine normale Datei ausführen, jedoch ohne Funktion. Word wird beendet und läuft als Prozess im Hintergrund weiter. Jedoch werden keine Dateien erstellet.
Das Erzeugen der Dateien aus der Beispieldatei funktioniert.
Was machen ich ggfs. falsch?
Danke vorab. Gruße Jens
Kommentar von Jens am 23.11.2015 um 14:40
Hallo Jens,
funktioniert der Serienbrief korrekt? D.h. werden in der Vorschau alle Briefe mit den korrekten Daten angezeigt? Was ich mir auch gut vorstellen kann, ist, dass die Marker für die Dateinamensgenerierung eventuell nicht mit den in deiner Datenquelle verfügbaren Feldern übereinstimmen. Probier doch hier mal einen einfachen Dateinamen nur mit dem Marker %counter% zu setzen. Eventuell hilft es auch einen anderen Ort zum Abspeichern der Dateien zu wählen.
lg Christian
Kommentar von Christian Bartl am 23.11.2015 um 20:48
Bereits probiert, Serienbrief funktioniert soweit.
Wie kann ich ein mögliches "zusammenführen" wieder rückgängig machen?
Kommentar von Jens am 23.11.2015 um 21:03
Hallo Jens,
soweit ich weiß, lässt sich ein einmal zusammengeführtes Dokument nicht wieder in den Ausgangszustand (als Serienbrief-Vorlage) versetzen.
lg Christian
Kommentar von Christian Bartl am 23.11.2015 um 21:06
Hab es nochmal probiert, lösung brachte... Die DOCX als DOC zu speichern, dann die Datenverbindung lösen speichern und schliessen. Öffnen mit DB erneut verbinden und Ausgabe über Makro!
Läuft! Top!
Danke dir.
Kommentar von Jens am 23.11.2015 um 21:25
Hallo Zusammen
Gibt es mit diesem Macros die Möglichkeit auch statt PDF's ein PDF A format zu generieren?
Vielen Dank & Gruss
Kommentar von PDF A am 25.11.2015 um 16:05
Hallo PDF A,
ja, die gibt es tatsächlich. Word unterstützt beim PDF-Export verschiedene Einstellungen darunter auch eine Option "ISO 19005-1-kompatibel (PDF/A). formletter2pdf nutzt standardmäßig die Default-Vorgaben von Word für den Export. Durch einen kleinen Eingriff in den Code lässt sich die Option aber setzen.
Dazu muss das Makro bearbeitet werden. Im Makro-Editor in der Baumstruktur den Ordner Formulare öffnen, dort mit Rechtsklick auf "formletter2pdf_form" die Option "Code anzeigen" wählen.
Im Code muss Zeile 421:
ActiveDocument.SaveAs Filename:=Targetfile & "pdf", FileFormat:=wdFormatPDF
durch Folgende ersetzt werden:
ActiveDocument.ExportAsFixedFormat OutputFileName:=Targetfile & "pdf", ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:=wdExportAllDocument, Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:=wdExportCreateWordBookmarks, DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=True
lg Christian
Kommentar von Christian Bartl am 25.11.2015 um 22:02
Hallo PDF A,
ich habe eben eine neue Version von formletter2pdf online gestellt, in dem nun als alternatives Dateiformat "PDF/A (ISO 19005-1-compatible)" gewählt werden kann (siehe auch FAQ).
lg Christian
Kommentar von Christian Bartl am 27.11.2015 um 23:06
Hallo
Zuerst mal - tolles Tool!!
Konnte es schon mehrfach nutzen. Nun habe ich seit einigen Tagen Office 2016 für Mac - beim kopieren der Form ins Normal.dotm kommt die Fehlermeldung "Nicht genügend Arbeitsspeicher" - an was kann dies liegen. Meine Suche war bis jetzt erfolglos?!?
Kommentar von Philipp am 25.11.2015 um 19:41
Hallo Philipp,
ich kann den Fehler auch bei mir reproduzieren. Eine Lösung habe ich leider dennoch nicht für dich. Ich entwickle das Makro unter Windows und teste dann unter Office for Mac nur mehr die Funktionsweise, daher ist mir bisher auch noch gar nicht aufgefallen, das zumindest in der aktuellen Office-Version der Makro-Editor stark beschnitten ist. Ich schaffe es weder das Formular zu editieren noch die Source-Codes des Makros zu importieren. Eine kurze Recherche hat ergeben, dass dies von Microsoft anscheinend auch nicht vorgesehen ist und daher lässt sich das Makro nicht zwischen einzelnen Dokumenten kopieren.
Sollte hier jemand einen Tipp für mich haben, wäre ich dankbar.
lg Christian
Kommentar von Christian Bartl am 25.11.2015 um 22:23
Hallo Chrisitan
Danke für das rasche Feedback - so weiss ich wenigstens dass es nicht an meiner Installation liegt.
Werde mir für diesen Fall, wo ich die PDF brauche, halt mit meinem PC im Geschäft weiter helfen.
Gruss
Philipp
Kommentar von Philipp am 26.11.2015 um 06:49
Hallo Philipp,
wenn du dir einen leeren Serienbrief mit dem Makro unter Windows erstellst bzw. deine Vorlage unter Windows mit dem Makro versiehst, kannst du diese am Mac als Ausgangspunkt für neue Briefe nutzen. Das Makro lässt sich unter Mac zwar nicht editieren aber weiterhin nutzen.
lg Christian
Kommentar von Christian Bartl am 27.11.2015 um 19:46
Geiles Macro und geile Beschreibung/Guide. Meine Arbeitskolleging hat sich riesig gefreut.
Jetzt kann sie früher nach Hause gehen ;-)
Dickes Danke :-)
Kommentar von FrankS am 27.11.2015 um 13:58
erstmal danke... auf MacOS (ElCapitan, Office 2011) geschieht folgendes:
1.) ich öffne formletter2pdf.docm
2.) ich starte das formletter2pdf Makro von Hand, ein Icon gibt's dafür bei mir nicht
3.) Word meldet: "formletter cannot be executed because this document isn't a form letter. Please start the mail merge function first and then run formletter2pdf again"
4.) ich habe den Seriendruck-Manager gestartet - gleiche Meldung wie bei 3.
Kommentar von Gernot S. am 05.12.2015 um 11:09
Hallo Gernot,
ich muss mir erst einen Mac mit Office 2014 zu Testzwecken besorgen, dann kann ich mir das Problem ansehen. Zumindest unter Office 2016 hat das Makro letztens ohne Probleme funktioniert. Funktioniert der im Download-Paket enthaltene Testserienbrief bei dir auch nicht?
lg Christian
Kommentar von Christian Bartl am 09.12.2015 um 20:16
Hallo Gernot,
ich habe das Makro eben noch einmal getestet und bei mir hat es unter Office for Mac 2011 einwandfrei funktioniert. Eventuell hast du den Seriendruckassistenten doch noch nicht korrekt gestartet. Am einfachsten lässt sich das prüfen, wenn du dir erfolgreich die Vorschau der einzelnen Serienbriefe ansehen kannst.
lg Christian
Kommentar von Christian Bartl am 13.12.2015 um 13:00
vielen Dank für das Makro, es funktioniert hervorragend!
Allerdings ist mir eine Kleinigkeit aufgefallen:
Die Zeichenlänge der Spaltenüberschriften in der Datentabelle scheint limitiert zu sein.
Ich wende das Makro auf mehrere Tabellen an, wobei bei ich bei einer Tabelle teilweise recht lange Spaltenüberschriften habe (über 40 Zeichen). Daraufhin erschien beim Ausführen des Makros immer die Nachricht, dass 1 formletter erfolgreich exportiert wurde - der neu erstellte Zielordner war jedoch immer leer.
Hat mich jetzt einige Nerven gekostet, herauszufinden wo der Fehler hängt...
Vielleicht kann man das noch optimieren? Wenn nicht, hilft diese Info hoffentlich anderen Usern mit dem gleichen Problem weiter...
Kommentar von c_huber am 07.12.2015 um 11:05
Hallo c_huber,
Word beschränkt die Bezeichnung der Spalten und kürzt die Namen automatisch bzw. filtert auch automatisch nicht erlaubte Zeichnen und Leerzeichen. Wenn du im Makro den Punkt "Click to list all availabe data source field markers." anklickst bekommst du eine Auflistung mit den korrekten durch Word nutzbaren Feldnamen.
Besteht das Problem dann immer noch?
lg Christian
Kommentar von Christian Bartl am 09.12.2015 um 20:13
Liebes formletter2PDF team
Ich habe einen Serienbrief mit 17000 datensätzen.
leider bricht das macro bei 100 datensatz ab und sagt dass es nun komplettiert ist.
vielen dank für eure unterstützung.
Kommentar von PDA am 14.12.2015 um 19:01
Hallo PDA,
bricht das Makro bei mehreren Läufen hintereinander immer exakt nach den 100 Datensätzen ab? Was wenn du bei deiner Empfängerliste einmal willkürlich aus der Mitte 1000 Datensätze als Test-Empfängerliste verwendest, tritt das Problem dann auch auf?
Das Marko selbst hat keine Beschränkung. Ich vermute hier eher ein Problem mit deinen Datensätzen (z.B. halbleere Datenzeile oder exotische Zeichensätze) oder einer gesetzten Einschränkung für die Empfängerliste innerhalb von Word.
lg Christian
Kommentar von Christian Bartl am 17.12.2015 um 16:24
Hallo PDA,
ich habe bei mir eben eine Excel-Datei als Datenquelle mit 17.000 Testeinträgen herangezogen und konnte einen einseitigen Serienbrief erfolgreich mit allen 17.000 Dateien generieren.
Ohne weitere Details zu deinem Fehler bzw. zum Aufbau deiner Datenquelle kann ich leider nur raten wo das Problem liegen könnte.
lg Christian
Kommentar von Christian Bartl am 17.12.2015 um 17:56
Hi,
ich habe gerade dein Programm gefunden und es würde mir unendlich Zeit ersparen. Habe alles lt. Anleitung installiert jedoch kommt bei mir, auch nicht beim Beispielsdokument, die Frage, ob der SQL Befehl ausgeführt werden soll.
Arbeite auf MAC, El Capitan...Kannst du mir helfen und unendlich Zeit ersparen :)
Danke
Kommentar von Hilfesuchender am 16.12.2015 um 12:32
Hallo,
hatte dir heute schon mal geschrieben - das Problem hat sich gelöst. War, wie soll es auch anders sein, zwischen Tastatur und Monitor zu finden. Richtig cooles Programm - erspart mir eine Menge Zeit und ist mir auch was wert - werde dir also was zukommen lassen.
Eine Frage hätte ich dennoch bzw. Feedback: Es wäre cool, wenn man die generierten PDF mit Sicherheitseinstellungen belegen könnte (zB keine Grafik rauskopieren). Geht das irgendwie - wenn nicht, wäre es ein geiles add on.
Danke nochmal für dein Arbeit - echt ein Hammertool
Christian
Kommentar von Einhilfesuchender am 16.12.2015 um 23:19
Hallo Hilfesuchender,
es freut mich zu hören, dass du dein Problem lösen konntest.
Bezüglich der PDF-Funktionen bedient sich das Tool der Standard-Export-Funktion von Word und da gibt es leider nicht allzuviele Optionen - Sicherheitsfeatures fehlen hier gänzlich. Wenn du im Besitz von Acrobat Pro bist, solltest du solche Aufgaben aber nachträglich mittels Stapelverarbeitung lösen können.
lg Christian
Kommentar von Christian Bartl am 17.12.2015 um 16:20
Seit dem ich mein Windows 8.1 auf Windows 10 upgedated habe, kann ich für den Speicherort der PDFs komischer Weise nur noch den Desktop wählen. Die direkte Eingabe des gewünschten Pfadnamens führt zum Absturz des Makros.
Kommentar von Hauke am 22.12.2015 um 22:02
Hallo Hauke,
ich habe das Makro eben unter Windows 10 in Verbindung mit Office 2016 getestet. Mir ist aufgefallen, dass im Auswahldialog des Zielordners nur mehr der Desktop angeboten wird - hier muss ich mich bei Zeiten einmal näher damit befassen, ob es dafür eine Lösung gibt. Die manuelle Eingabe eines Pfades hat bei mir aber trotzdem funktioniert.
Welche Office-Version hast du unter Windows 10 verwendet bzw. hast du eine Fehlermeldung erhalten?
lg Christian
Kommentar von Christian Bartl am 30.12.2015 um 16:07
Das ist bei mir unter Windows 10 mit Office 2010 auch so.
Im Büro mit Windows 7 und Office 2010 besteht die Möglichkeit den Pfad frei anzuwählen. Scheint also mit Windows 10 zusammen zu hängen.
Kommentar von Ueli R. F. am 03.01.2016 um 15:50
Tolles Programm! So etwas habe ich schon lange gesucht. Hilft mir sehr wenn ich z.B. für unsere Kunden mit der Serienbrieffunktion Jahresrechnungen erstelle. So bekomme ich pro Seite eine eigene Datei zum Versenden an jeden einzelnen Kunden. Bravo!
Das man sogar wählen kann zwischen pdf und docx und erst noch die Dateinamen aus den Adressfeldern herstellen, das setzt der Software (pardon: App) die Krone auf!
Habe grad Euro 20.-- überwiesen. Danke!
Kommentar von Ueli R. F. am 03.01.2016 um 12:34
Hallo Ueli,
freut mich, dass dir das Tool geholfen hat.
Herzlichen Dank für deine Spende!
lg Christian
Kommentar von Christian Bartl am 03.01.2016 um 13:50
Hallo,
eine kurze Frage: Ich möchte das Datum im Dateinamen in einer gewissen Reihenfolge abspeichern sprich yyyy.mm.yy.
Momentan weist er es leidiglich über das Feld Rg_Nr_{RNr}_{Name}_{Datum} im englisch Format aus sprich erst der Monat,Tag,Jahr.
{Datum \@ “yyyy.mm.dd“} geht leider nicht.
Beste Grüsse,
Jörg
Kommentar von Jörg am 20.01.2016 um 20:21
Hallo Jörg,
das Makro kann zwar die Feldnamen zur Generierung des Dateinamens heranziehen, kann darin aber keine weiteren Formatierungsoptionen wie beim Einfügen eines Feldes in Word vorhanden interpretieren. D.h. das Datum muss bereits in der Datenquelle (Empfängerliste) in dem für den Dateinamen gewünschten Format vorliegen.
lg Christian
Kommentar von Christian Bartl am 20.01.2016 um 20:22
Vorerst einfach nur ein großes Danke. Es ist nicht selbstverständlich, dass Leute ihr umfassendes Wissen, das in der Praxis auch genutzt werden kann ;-), gratis zur Verfügung stellen (hab auch gespendet ;-).
Ich hätte nur ein Frage, wie kann man das Formular, das nach dem Start des Makros aufgerufen wird und in dem man die verschiedenen Optionen (Speicherart, ...ort, ...) einstellen kann, den eigenen Bedürfnissen anpassen - Sprache (Speicherart, Pfadname, etc.).
Danke und Grüße aus dem verschneiten Tirol
Kommentar von Peter am 25.01.2016 um 16:00
Hallo Peter,
vorweg einmal herzlichen Dank für deine Spende.
Ich habe im Code schon vorgesehen, dass für die einzelnen Felder und Einstellungen im Dialogfenster eigene Standardwerte gesetzt werden. Dazu musst du den Code des Moduls "formletter2pdf" im Makro-Editor anpassen. Die entsprechenden Optionen findest du direkt am Anfang des Codes inkl. entsprechenden Kommentaren zur Erklärung. Siehe dazu in den FAQ auch den Punkt "Ich nutze formletter2pdf immer mit demselben Dokument. Wie kann ich Standardwerte für Dateinamen oder Export-Format setzen?".
lg Christian
Kommentar von Christian Bartl am 25.01.2016 um 20:24
Hallo,
Das Programm hat super funktioniert bis vor ein paar Wochen. Aus unerklärlichen Gründen ist jetzt das Makro weg. Kann es leider auch nicht neu installieren :(
Bin am verzweifeln, da das Programm einfach klasse ist und mir das eine Menge Arbeit abnimmt!!
Danke schonmal für die Hilfe.
Liebe Grüße Nina
Kommentar von Nina P. am 30.01.2016 um 11:28
Hallo Nina,
das Makro ist im Regelfall direkt im Word-Dokument eingebettet oder in die Word-Standard-Vorlage eines spezifischen Rechners integriert. Wenn das Makro nun weg ist, heißt das nur, dass es eventuell aus dem Dokument gelöscht wurde oder du das Dokument auf einem anderen PC bearbeitest und das Makro eben nicht in das Dokument eingebettet wurde. Dennoch müsstest du über den oben in der Anleitung beschriebenen Weg das Makro wieder aus dem Word-Dokument des Downloadpakets in dein Word-Dokument verschieben/kopieren können.
Welches Problem hasst du denn genau beim "Neuinstallieren" des Makros?
lg Christian
Kommentar von Christian Bartl am 30.01.2016 um 13:04
Lieber Christian,
ich werde beim starten nicht nach einem SQL-Befehl gefragt.
Zudem kommt sobald ich auf finish and merge klicke folgende Fehlermeldung."formletter2pdf cannot be executed, because this document isnt a form letter. Please start the mail merge functionfirst an then run formletter2pdf again"
Hab schon einiges versucht bin aber nicht wirklich weiter gekommmen...
Vielen Dank für für Deine Hilfe.
Liebe Grüße,
Nina
Kommentar von Nina am 01.02.2016 um 10:55
Hallo Nina,
dann ist der Fall relativ eindeutig. Du hast zwar deinen Serienbrief erstellt und gespeichert, aber beim erneuten Öffnen wird die Empfängerliste nicht mehr gefunden. Daher beim Start auch die Nachfrage nach dem SQL-Befehl. Wähle über die Optionen in Word einfach noch einmal deine bestehende Empfängerliste aus und schon sollte wieder alles klappen.
lg Christian
Kommentar von Christian Bartl am 01.02.2016 um 18:28
Also wenn ich anfangs die Datei öffne werde ich nach nix gefragt - daher weiß ich nicht wie ich weiter machen soll
Kommentar von Emre am 04.02.2016 um 11:32
OK Super jetzt funktioniert es prima. Nach dem ich meine Datein abgespeichert habe und die Word Datei schließen möchte bleibt aber ein durch das Speichern geöffnetes Wordfenster offen und lässt sich nicht schließen. Woran liegt das?
Danke!
Kommentar von Emre am 04.02.2016 um 11:55
Hallo Emre,
das kann viele Gründe haben, meistens will Word dann Änderungen in der Vorlage Normal.dot sichern. Ein direkter Zusammenhang mit dem Einsatz des Makros und deinem beschriebenen Problem ist mir aktuell nicht bekannt.
lg Christian
Kommentar von Christian Bartl am 06.02.2016 um 12:20
HILFE
Ich habe keinen balssen Schimmer von der Materie.
Habe das Macro erstellt und möchte es ausführen.
Es kommt die Fehlermeldung 5631.
Ws muss ich tun??
Dankeschön im vorraus :)
Kommentar von Lena am 25.02.2016 um 12:22
Hallo Lena,
die Fehlercodes von Word sind leider wenig aussagekräftig, daher kann ich auch nur raten. Eine schnelle Google-Suche hat gezeigt, dass Personen mit diesem Fehler oft Feldnamen abgefragt haben die in der Empfängerliste nicht existieren. Das Makro nutzt für die Dateinamenerstellung z.B. das Feld ID - wenn dieses bei dir nicht existiert könnte dieser Fehler auftreten. D.h. du musst hier entsprechend mit den richtigen Einstellungen arbeiten.
lg Christian
Kommentar von Christian Bartl am 25.02.2016 um 21:05
Hallo,
ich benutze das Makro seit etwa einem halben zur Erstellung von Anfragen und es funktioniert hervorragend.
Perfekt wäre es, wenn ich den Ordner direkt per Eingabeaufforderung benennen könnte. Gibt es dafür einen Befehl?
Liebe Grüße
Schorse
Kommentar von Schorse am 04.03.2016 um 13:20
Hallo Schorse,
was meinst du mit "Ordner direkt bei der Eingabeaufforderung benennen" genau? Startest du Word und das Makro über die Kommandozeile? Du kannst im Quellcode bereits Werte vordefinieren, falls dir das aktuell weiterhilft.
lg Christian
Kommentar von Christian Bartl am 04.03.2016 um 16:18
Hallo,
ich meine damit, dass ich vor dem Erstellen des Ordners in dem die PDF Dateien gespeichert werden, jedes mal gefragt werden möchte, wie dieser Ordner benannt werden soll, an statt ihn Serienbrief.... zu nennen.
Kommentar von Schorse am 07.03.2016 um 07:59
Hallo Schorse,
genau dieses Problem kannst du durch die Vergabe von Standardwerten im Quellcode beheben. Diese Werte werden dann bei jedem Start von formletter2pdf in die Felder übernommen. Siehe dazu auch die FAQ: https://www.formletter2pdf.com/#faq_11
lg Christian
Kommentar von Christian Bartl am 07.03.2016 um 18:43
Hallo Christian
Ein Super Tool und es mach auch genau, was es soll. Keine Fragen, keine Probleme.
Einfach nur DANKE !!!!
Rolf
Kommentar von Rolf am 17.03.2016 um 11:17
Hallo und viiiielen Dank für dieses tolle Makro.
Die Funktionsweise ist klasse. Allerdings habe ich das Problem, dass die Erstellung der einzelenen Dateien doch bei mir einige Zeit in Anspruch nimmt.
Es ist ein zwei-seitiger Serienbrief mit ca. 15 Serienfeldern.
Für die Erstellung der einzelnen Dateien (es sind etwa 40 Stück) benötigt mein PC über eine Viertelstunde. Ist diese "Dauer" normal oder hast du evtl. eine Idee woran es liegen könnte?
Über eine Antwort würde ich mich freunen.
Viele Grüße!
Kommentar von Chris am 13.04.2016 um 15:41
Hallo Chris,
die Erstellung der Dateien dauert auch bei mir einige Zeit und ist Aufgrund der Tatsache, dass für jeden einzelnen Brief eine neue Word-Instanz gestartet wird leider auch nicht performanter zu erledigen. Wenn der Rechner dann auch noch etwas in die Jahre gekommen oder der Arbeitsspeicher knapp ist, kann das auch schon einmal die von dir erwähnte viertel Stunde dauern.
lg Christian
Kommentar von Christian Bartl am 15.04.2016 um 18:10
Hallo Zusammen,
ich nutze Euer Tool habe nur ein Problem:
In meiner Datenquelle in Excel habe ich ein Datum in deutschem Format: TT.MM.JJJJ. In dem Serienbrief erhalte ich immer das amerikanische Format: MM.TT.JJJJ.
Wie kann ich das Datumsformat ändern.
Danke
Kommentar von Steffen R. am 13.04.2016 um 16:30
Hallo Steffen,
wo im Serienbrief erhälst du das falsche Datumsformat? Sprichst du von den Werten im Dokument selbst oder von den Dateinamen?
formletter2pdf greift die Werte im Dokument nicht an, d.h. wenn im normalen Serienbrief die Werte schon nicht passen werden diese auch in den PDFs nicht passen. Hier musst du dann vermutlich die Einstellungen der einzelnen Datenfelder prüfen.
lg Christian
Kommentar von Christian Bartl am 15.04.2016 um 18:15
Hallo
Immer noch: Tolles Tool !!
Hier noch ein kleiner Verbesserungs Vorschlag:
' ORIGINAL ZEILE: DefaultFilelocation = "Desktop"
DefaultFilelocation = ActiveDocument.Path
' ORIGINAL ZEILE: DefaultFoldername = "formletter-{%timestamp%}"
DefaultFoldername = CreateObject("Scripting.FileSystemObject").GetBaseName(ActiveDocument.Name) & "-{%timestamp%}"
' ORIGINAL ZEILE: DefaultFilenamepattern = "{%counter%}-formletter-{last_name}-{ID}"
DefaultFilenamepattern = "{%counter%}-{Vorname}-{Nachname}"
Außerdem habe ich das Formular formletter2pdf_form um ca 6cm breiter gemacht, damit lange Pfade und Dateinamen dagestellt werden können.
Grüße, Rolf
(Danke an Marc der mir geholfen hat)
Kommentar von Rolf am 15.04.2016 um 10:46
Hallo Rolf,
vielen Dank für den Verbesserungsvorschlag, der macht wirklich Sinn und ich werde das in die nächste Version von formletter2pdf integrieren.
lg Christian
Kommentar von Christian Bartl am 15.04.2016 um 18:07
wie bekomme ich im default filenamepattern das katuelle datum ???
Kommentar von herbert s. am 06.04.2017 um 20:13
Hallo Herbert,
aktuell ist diese Funktion nicht implementiert.
lg Christian
Kommentar von Christian Bartl am 07.04.2017 um 17:49
Hallo Herbert
{%timestamp%} steht für "07.04.2017-20.23.07"
Damit hast du Datum und Uhrzeit zu dem Zeitpunkt zu dem das Macro Läuft.
Grüße
Kommentar von Rolf am 07.04.2017 um 20:26
Hallo erstmal!
Also super cooles teil!
Ich erstelle mit dem Tool, Htm files, die ich dann in einem IIS-Server wieder aufrufe. So nun habe ich das problem, das zuerst mit /d die Bilder aktualisiert wurden, aber die Bilder nicht ins File gespeichert wurden. Also /d wieder weg. Nun habe ich das Problem, dass die Bilder in die Files "gespeichert" werden, aber in jedem das gleiche Bild ist. Wie kann ich das lösen?
LG Markus T.
Kommentar von Markus T am 20.04.2016 um 09:50
Hallo Markus,
ich muss gestehen, die Exportformate abseits von Word und PDF nur aufgrund der vorhandenen Möglichkeit eingebaut zu haben, diese aber selbst noch nicht aktiv getestet zu haben. Leider habe ich gerade auch nicht wirklich eine Idee, an welcher Stelle Word hier durcheinander kommen könnte.
lg Christian
Kommentar von Christian Bartl am 25.04.2016 um 19:57
Hallo,
das Makro hört sich viel versprechend an aber leider hat das mir der Ordner Erstellung nicht mal mit der Beispiel Datei funktioniert. Es wird nur ein Ordner erstell aber keine Datei, wenn der Ordner auf {last_name} geändert wird, werden keine Namen angezeigt nur ein Ordner {last_name}. Können Sie mir sagen was ich falsch gemacht hab (Word 2010).
Mit freundlichem Gruß
Arthur
Kommentar von Arthur am 09.05.2016 um 14:57
Hallo Arthur,
das Makro kann individuelle Namen aus den Feldern der Datenquelle nur für die Dateinamen generieren, nicht aber für die Bezeichnung des darüberliegenden Ordners. Im Dateinamen des Ordners ist nur der Marker für einen eindeutigen Zeitcode erlaubt und es wird immer nur ein gemeinsamer Ordner für alle Dateien erstellt. Das einsortieren der Dateien in unterschiedliche Ordner funktioniert aktuell noch nicht.
lg Christian
Kommentar von Christian Bartl am 09.05.2016 um 17:55
Prima Makro, genau das, was ich brauche. Ich müsste ihn allerdings noch erweitern, habe aber Zweifel, ob ich das mit meinen sehr rudimentären VBA-Kenntnisse hinbekomme. Deshalb die Frage: Neben den Daten, die sich der Serienbrief ganz normal aus einer Excel-Tabelle holt, müsste jeweils noch der komplette Text aus einer separaten Word-Datei in das jeweilige Serienbriefdokument eingefügt werden. Konkret: Der Makro erstellt das erste Serienbriefdokument, das u.a. das Serienbrieffeld <XYZ> enthält. Nun soll er die Word-Datei mit dem Namen XYZ.doc in einem bestimmten, feststehenden Verzeichnis öffnen, den dort enthaltenen Text kopieren und an einer Textmarke in das erste Serienbriefdokument einsetzen. Dann die Datei XYZ.doc wieder schließen und das Serienbriefdokument abspeichern. Und so weiter ... Es gibt natürlich genau so viele XYZ.doc-Dateien, wie es "Briefe" gibt. 1.) War das verständlich? 2.) Geht das? 3.) Ist das ein erheblicher Programmieraufwand?
Kommentar von Stefan am 19.05.2016 um 14:58
Hallo Stefan,
deine Anforderung ist klar formuliert. Ich kann dir aber ohne Recherche auch nicht sagen ob dies möglich ist. Vor allem wenn es dann darum geht Formatierungen zu übernehmen oder mehrere Absätze, könnte es spannend werden. Ein anderer Ansatz könnte das Nutzen von Textbausteinen für die Umsetzung deiner Anforderung sein. Die Programmierung und den Aufwand dafür sehe ich jedenfalls als nicht ganz trivial an.
lg Christian
Kommentar von Christian Bartl am 20.05.2016 um 10:10
Besten Dank für die Antwort. Ich werde das Problem anders lösen. Ich erstelle erst ganz normal mit deinem Makro die Serienbriefe und erledige das Einfügen des Textes mit einem separaten Makro, der einfach den ganzen Ordner abgrast. Ich habe ein VBA-Programm gefunden, das auf diese Art und Weise Bilder in Word-Dateien einfügt. Das will ich entsprechend modifizieren – man wächst ja bekanntlich an seinen Aufgaben ...
Gruß, Stefan
Kommentar von Stefan am 20.05.2016 um 10:40
Hi Christian,
erst mal wollt ich sagen, dass das Makro super gut ist!
Ich habe jedoch ein Problem, wenn eine Zelle (Ein Teil von jeweiligen Dateinamen ist) einen Umbruch(Return) besitzt.
Dann kommt immer der Fehler mit "formletter2pdf has been aborted, because an invalid file name has been detected ..."
Ich habe zusätzlich vergebens folgende Zeilen eingefügt im Quellcode:
File = Replace(File, Chr(10), "")
File = Replace(File, Chr(13), "")
Hast du eine Idee?
Vielen Dank und viele Grüße
Dieter
Kommentar von Dieter am 31.05.2016 um 23:03
Hallo Dieter,
probiere doch einmal noch folgende Ersetzungen im Code zu ergänzen, dann sollte es klappen.
File = Replace(str, vbLf, "")
File = Replace(str, vbCr, "")
File = Replace(str, vbCrLf, "")
File = Replace(str, vbNewLine, "")
File = Replace(str, vbTab, "")
lg Christian
Kommentar von Christian Bartl am 31.05.2016 um 23:05
Hallo,
ich nutze formletter für einen Word Serienbrief.
Nun möchte ich auch einen Bericht aus einer Access 2010 Datenbank per Mail versenden. Es wird aber ein Gesamtbericht erstellt. Der soll nach Kunden gesplittet und dann per Mail versendet werden. Geht das auch mit Formletter? Wenn ja, wie?
Vielen Dank im Voraus & Gruß
Hatice
Kommentar von Hatice am 01.06.2016 um 10:55
Hallo Hatice,
formletter2pdf kann generell nur Serienbriefe in Microsoft Word erzeugen und auch das automatische Versenden von Mails geht damit aktuell noch nicht.
lg Christian
Kommentar von Christian Bartl am 01.06.2016 um 16:50
Hallo Christian,
ich habe gerade dein Makro gefunden - super. Ich bräuchte es für einen 1:n Serienbrief. Das funktioniert eigentlich gut (wenn man weiß wie's geht). Über dein Makro werden pdfs jedoch für jeden Datensatz erstellt (wie in der Vorschau) und nicht nur für jeden Datensatz mit neuem Kunden. Gibt es hier eine Lösung?
Kommentar von Christian am 07.06.2016 um 18:30
Hallo Christian,
wenn ich dich richtig verstehe möchtest du immer die selbe Empfängerliste verwenden aber nur Briefe an jene senden die neu in der Liste hinzugekommen sind. Das kann formletter2pdf leider nicht leisten. Die zwei einfachsten Lösungswege die mir einfallen sind:
- In Word auf "Empfängerliste bearbeiten" gehen und dort nur die neuen Kunden aktivieren.
- Ein zusätzliches Feld in der Empfängerliste mit Datum oder Counter einführen, dieses per Marker an den Anfang des Dateinamens stellen und alle Serienbriefe generieren. Daraufhin brauchst du nur noch alle Serienbriefe mit den alten Countern am Beginn des Dateinamens löschen.
lg Christian
Kommentar von Christian Bartl am 07.06.2016 um 19:15
Hallo Christian,
Danke für die rasche Reaktion. Nein, das hab ich anders gemeint. Ich hab einen Serienbrief wie hier https://www.youtube.com/watch?v=w5owTBobPQM gezeigt. Aus einer Liste mit Produkten schreib ich Rechnungen, wobei pro Empfänger mehrere Produkten/Datensätze vorkommen können. Es soll nur eine Rechnung / pdf pro Empfänger geben, aber mit allen Produkten. Wie eben im Youtube-Video dargestellt. Mit dem Marko wird jedoch für jeden Datensatz ein pdf erzeugt. Oder mach ich was falsch?
Schönen Gruß
Christian
Kommentar von Christian am 08.06.2016 um 09:56
Hallo Christian,
nein, das kann formletter2pdf nicht, da für jede Datenzeile ein neues Dokument erstellt wird.
Du solltest aber, zumindest mit etwas VBA-Kenntnisse, die Logik die das im Youtube-Video verwendete Makro zum Zusammenfassen der Artikel verwendet auch auf die Schleife für die Datensätze im Quellcode von formletter2pdf anwenden können.
lg Christian
Kommentar von Christian Bartl am 09.06.2016 um 18:13
Hallo,
ich verstehe nicht ganz wie ich das Makro ordentlich verwenden kann, wenn ich bereits einen Serienbrief erstellt habe. Es funktioniert einwandfrei, wenn ich das im Download vorhandene Beispieldokument nutze allerdings kann ich nicht darauf zugreifen, wenn ich ein anderes Dokument, also meinen Serienbrief öffne. Wie kann ich das Makro in anderen Dokumenten verwenden? Ich habe leider keine Ahnung von so was. Habe bisher noch nie mit Makros gearbeitet. :(
LG
Kommentar von Pls help me! am 14.06.2016 um 15:51
Hallo,
damit du das Makro in deinen eigenen Serienbriefen nutzen kannst, musst du es vom Beispieldokument in dein Dokument (das Ursprungsdokument des Serienbriefs, nicht das Endprodukt) kopieren, nur dann kannst du es auch dort nutzen. Siehe dazu die bebilderte Schritt-für-Schritt-Anleitung auf dieser Website unter dem Punkt "formletter2pdf-Makro einrichten".
lg Christian
Kommentar von Christian Bartl am 16.06.2016 um 19:36
Guten Tag,
ich hab das Makro jetzt seit einigen Monaten ohne Probleme genutzt. Heute habe ich ca. 12 Briefe erstellt und wollte wie immer das Makro nutzen aber es wurde nur eine Datei abgespeichert. Ich arbeite mit Word 2010.
Wo könnte das Problem liegen?
Kommentar von Emre am 24.06.2016 um 17:47
Hallo Emre,
das ist ohne dein Worddokument und die Empfängerliste zu sehen schwer zu sagen, aber ich versuche es einmal:
- Hast du eventuell auf Windows 10 aktualisiert? Ich habe bereits vor einiger Zeit eine Rückmeldung erhalten das das Marko unter Windows 10 in Verbindung mit Office 2010 nicht funktioniert.
- Kommt eine Fehlermeldung? Funktioniert das Makro nur in deinem Dokument nicht oder auch nicht mit dem Beispieldokument des Downloadpakets?
- Das Makro überschreibt Dateien mit gleichem Dateinamen. Hast du eventuell für den Dateinamen ein falsches Pattern benutzt?
- Werden dir in der Vorschau alle Briefe angezeigt oder erscheint dort auch nur einer?
lg Christian
Kommentar von Christian Bartl am 25.06.2016 um 13:04
Genau ich habe vor kurzem Win10 installiert aber das Makro hatte funktioniert. Ich benutzte 2 Formulare. Auf dem einen Funktioniert es einwandfrei und auf dem anderen jetzt plötzlich nicht mehr
Kommentar von Emre am 26.06.2016 um 21:34
Ja die Vorschau funktioniert auch. Eine Fehlermeldung bekomme ich aber nicht. Ich wähle mehrere Empfänger aus und anschließend kommt die Meldung das nur eine Datei gespeichert wurde
Kommentar von Emre am 26.06.2016 um 21:36
Hallo Emre,
nachdem es in einem Dokument ja weiterhin funktioniert, scheint die Kombination aus Office 2010 und Windows 10 nicht das Problem zu sein. Ich habe leider aktuell kein Testsystem mit dieser Kombination um das bei mir einmal nachzustellen.
Versuche doch bitte einmal deine Empfängerliste mit dem Beispieldokument zu verwenden. Wenn das klappt kannst du die Empfängerliste bzw. Windows 10 als Ursache ausschließen. Dann würde im nächsten Versuch das Word-Dokument einmal neu erstellen (neues Dokument, Serienbrieffunktion neu starten und Inhalt aus dem anderen kopieren).
lg Christian
Kommentar von Christian Bartl am 27.06.2016 um 19:24
Hallo, Das Makro funktioniert super. Nur habe ich ein kleines Problem und zwar wenn ich die Dateien als PDF/A abspeichere dann sind meine Unterschriften in einem schwarzen Kasten gesetzt, beim Speichern als normales PDF passiert dies nicht. Müssen die Unterschiften in einem besonderen Format sein?
Kommentar von Joachim B. am 27.06.2016 um 10:51
Hallo Joachim,
dazu kenne ich das PDF/A-Format leider zu wenig, ob es dort spezielle Anforderungen oder Einschränkungen gibt.
lg Christian
Kommentar von Christian Bartl am 27.06.2016 um 19:19
Hallo zusammen,
ein wirklich tolles Toll.
Kleiner Schönheitsfehler:
Unter W10 (64 bit) und Office 2016 kann ich keine Ordner bzw. Bibliotheken auswählen!
Wöre schön, wenn das noch behoben werden könnte!
Aber ansonsten weiter so
Kommentar von Jörg am 27.06.2016 um 14:07
Hallo Jörg,
den von dir beschriebenen Schönheitsfehler kenne ich bereits. Mit den neuen Office-Versionen bzw. Windows 10 hat sich das Dateihandling geändert und ich bin gerade dabei den Code von formletter2pdf komplett neu zu schreiben und besser zu strukturieren und damit auch dieses Problem zu beheben, werde dazu aber sicher noch einige Wochen brauchen.
lg Christian
Kommentar von Christian Bartl am 27.06.2016 um 19:21
Hallo Christian,
erst einmal danke, dass es so Menschen wie dich gibt ;-). Ich habe ein Mac und dass neuste office installiert. Beim Installieren von deinem Macro "formletter2pdf_form" nach Normal.dotm kommt die Fehlermeldung ->geht nicht -> nicht genügend Arbeitsspeicher (habe ein Macbook mit 4GB) Habe auch alle Programme geschlossen..... und ich glaube das Macro ist garnicht so groß...... was kann ich tun?
danke
Christian aus Hamburg
Kommentar von Christian K. am 11.07.2016 um 22:38
Hallo Christian,
ich nehme an du nutzt Office for Mac 2016? Dort hat Microsoft leider den Makroeditor überarbeitet und vermurkst, daher kann Office for Mac das Makro nicht kopieren.
Siehe dazu auch im FAQ-Bereich den Punkt "formletter2pdf läuft auch unter Office for Mac 2016, nur kann ich dort das Makro weder bearbeiten noch in andere Dokumente kopieren. Woran liegt das?"
lg Christian
Kommentar von Christian Bartl am 13.07.2016 um 20:59
hallo christian,
klasse dein tool! nachdem ich RTF files brauche habe ich allerdings einen bug gefunden. statt .rtf steht in deinem makro .rte und statt "FileFormat:=wdFormatRTF" stand "...wdFormatText" ....
gruß
andreas
Kommentar von andreas am 14.07.2016 um 23:17
Hallo Andreas,
vielen Dank für den Hinweis. Ich bastle gerade an einer neuen Version und habe den Fehler dort eben ausgebessert.
lg Christian
Kommentar von Christian Bartl am 16.07.2016 um 12:43
Hallo und erst einmal einen recht herzlichen Dank an den Entwickler des Makros.
Nach dem ich es seit zwei Wochen getestet habe, würde ich es gerne so anpassen, dass es ohne Dialogfenster mit Vorgaben aus dem Makro bzw. der Datenquelle der Serienbriefe arbeitet und ggf. bestehende PDF-Dateien ohne zu fragen überschreibt.
Dabei ist das erste Problem, dass das Makro für die Ablage der PDFs immer einen neuen Ordner erwartet der noch nicht existiert.
Kann man den Hauptdialog deaktivieren, so dass nur noch eine Meldung kommt, wenn der Vorgang abgeschlossen ist?
Kommentar von Vrabac am 23.08.2016 um 03:44
Hallo Vrabac,
aktuell ist nicht vorgesehen den grafischen Dialog zu umgehen. Du kannst aber über den Quellcode (siehe FAQs) Standardwerte für alle Felder vergeben, dann musst du beim nächsten mal nur auf "Start" klicken. Allerdings wird das Makro ohne weitere Anpassungen keine Dateien überschreiben.
In deinem Fall würde ich dir raten mal einen Blick auf das ursprüngliche Makro in meinem Blog-Artikel zu werfen, dieses sollte recht einfach für deine Bedürfnisse adaptiertbar sein: https://blog.bartlweb.net/2012/08/word-serienbrief-als-einzelne-dateien-speichern/
lg Christian
Kommentar von Christian Bartl am 23.08.2016 um 18:23
Hallo,
erstmal Danke für das praktische Makro!
Ich hab jetzt jedoch noch ein zusätzliches Problem. Ich erstelle Serienbriefe mit verschiedenen Grafiken via Includepicture{Mergefield} usw.
Bei diesem ist das Problem das standardmäßig bei der Ausgabe eines Serienbriefes, lediglich das erste Bild angezeigt wird.
Dann wird der fertige Serienbrief via Strg A nochmal komplett markiert und mit F9 aktualisiert. Erst dann zeigt Word auch korrekt die verschiedenen Bilder an.
Ist es möglich diese Aktion noch in den Code zu implementieren?
Vielen Dank im Vorraus!
Kommentar von Andre am 31.08.2016 um 13:29
Hallo Andre,
die Funktion ist bereits im Code integriert und du musst sie nur mehr aktivieren. Öffne dazu den Makroeditor und bearbeite den Quellcode des Formulars "formletter2pdf_form". Dort musst du Zeile 370 auskommentieren:
' update dynamic fields in created documents; remove comment from next line if needed
ActiveDocument.Fields.Update
Diese Codezeile bewirkt das Aktualisieren aller Formularfelder, wie du es sonst manuell mit F9 durchführst.
lg Christian
Kommentar von Christian Bartl am 03.09.2016 um 15:43
Hallo Christian
Erst einmal vielen Dank für das tolle Makro! Es ist genau das, wonach ich gesucht hatte, und funktioniert mit den von mir benutzten Funktionen bisher einwandfrei!
Nun würde ich gerne Dokumente als Vorlagen (.dotx) abspeichern. Dieses Ausgabeformat fehlt jedoch. Als totaler VBA-Laie wäre ich froh um einen Hinweis, ob/wie sich diese Funktion allenfalls ergänzen liesse.
lg Philippe
Kommentar von Philippe am 02.09.2016 um 14:19
Hallo Philippe,
theoretisch sollte auch das möglich sein. Zumindest dokumentiert Microsoft dafür den Export-Typ "wdFormatXMLTemplate" (siehe: https://msdn.microsoft.com/en-us/library/office/ff839952.aspx).
Am einfachsten probierst du es einmal aus, indem du im Makroeditor den Quellcode des Formulars "formletter2pdf_form" editierst und dort die Zeile 415
ActiveDocument.SaveAs Filename:=Targetfile & "docx", FileFormat:=wdFormatDocumentDefault
durch
ActiveDocument.SaveAs Filename:=Targetfile & "dotx", FileFormat:=wdFormatXMLTemplate
ersetzt. Danach kannst du das Makro laufen lassen und wählst den Typ Word-Dokument aus. Anstelle eines normalen Dokuments wird durch die Code-Änderung eine Dokumentenvorlage gespeichert.
lg Christian
Kommentar von Christian Bartl am 03.09.2016 um 15:51
Hallo Christian,
Vielen Dank, die Ausgabe als .dotx funktioniert mit der von dir beschriebenen kleinen Anpassung einwandfrei! Ein toller Support, den du hier bietest!
Vielleicht liesse sich die Auswahl des Ausgabeformats "Word-Dokumentvorlage (.dotx)" in eine nächste Version direkt integrieren? Wäre praktisch ...;-)
lg, Philippe
Kommentar von Philippe am 04.09.2016 um 14:55
Hallo Christian,
ich möchte Dein Makro verwenden, um aus den Daten einer Exceltabelle eine Vielzahl von MarkDown-Dateien (TXT-Format) zu erstellen. Dazu habe ich zwei Fragen an Dich:
1. Kann man in das Makro eine Funktion einbauen, um jeweils einen Ordner für jede einzelne Datei zu erstellen? Der Ordner sollte dann so heißen wie die *.md-Datei (ohne Dateiendung). Das Flat-CMS GRAV setzt so eine Dateistruktur voraus.
2. Kann die *.txt-Endung direkt beim Erzeugen als *.md gespeichert werden? Oder müssen die *.txt hinterher in *.md geändert werden?
Oder ist evtl. für diesen Einsatzzweck ein anderes Vorgehen praktikabler?
Besten Dank und viele Grüße
Fabian
Kommentar von Fabian am 24.09.2016 um 23:40
Hallo Fabian,
mit ein paar Eingriffen in den Code kannst du das Makro entsprechend umbauen.
Bearbeite im Makroeditor den Quellcode des Formulars formletter2pdf_form:
Ändere die Zeilen 428 und 429 von
ElseIf Filetype = "Plain Text (.txt)" Then
ActiveDocument.SaveAs Filename:=Targetfile & "txt", FileFormat:=wdFormatEncodedText
auf
ElseIf Filetype = "Plain Text (.txt)" Then
Subpath = Path & File & "\"
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateFolder(Subpath)
Targetfile = Subpath & File & "."
ActiveDocument.SaveAs Filename:=Targetfile & "md", FileFormat:=wdFormatEncodedText
um die Dateiendung auf "md" zu ändern und einen Unterordner im Zielordner zu erstellen der gleich wie der Dateiname lautet.
Achtung: Ich habe den Code nicht getestet, aber als Vorlage für das Umprogrammieren sollte es reichen.
lg Christian
Kommentar von Christian Bartl am 04.10.2016 um 19:00
Hallo Christian,
besten Dank, ich werde Deine Ergänzung gerne ausprobieren.
Viele Grüße, Fabian.
Kommentar von Fabian am 24.10.2016 um 22:39
Hallo,
in Excel (inkl. VBA) bin ich relativ sicher, aber in Word und dort insbesondere in die Funktion "Serienbrief" muss ich mich jetzt erstmals einarbeiten. Die Funktionalität von formletter2pdf ist genial, wobei die "Urversion" mit wenig Dialog für ein aktuelles Projekt mehr als ausreichend ist. An dieser Stelle erstmal ein DICKES LOB. Ich weiß, wieviele lange Nächte ein scheinbar simples Makro verschlingen kann, wenn es nicht nur auf dem eigenen Rechner laufen soll, der womöglich "von Haus aus" besondere Einstellungen hat. Auch die Dokumentation fällt nicht vom Himmel, ebensowenig die stetigen Verbesserungen, Erweiterungen und Pflege der Webseiten.
An dieser Stelle kommt nun mein "Problemchen" in's Spiel.
Mein Hauprdokument fragt ein Datum ab, definiert ist es als {FILLIN "Datum" /o}
Durch die gewollten Aufrufe pro Datensatz greift der Parameter /o nicht. Somit müsste man für jedes Dokument die Eingabeaufforderung bestätigen, was natürlich keinen Sinn macht. Natürlich habe ich daran gedacht, im Hauptdokument das Datum als fixen Wert einzutragen, das gefällt mir aber nicht besonders gut. Gibt es eine "Geheimwaffe" , also einen eleganteren Weg, das Datum nur einmal abzufragen ?
Über eine Antwort oder gar Lösung würde ich mich sehr freuen !
Viele Grüsse aus Langen (Hessen, bei Frankfurt),
Michael
Kommentar von Michael Q. am 04.10.2016 um 17:31
Hallo Michael,
der einzige Weg der mir auf die schnelle einfällt ist, dass du den Wert beim Aufruf des Makros über dieses abfragst und in einer Variable zwischenspeicherst. Im Word-Dokument selbst wird dann im Platzhalter der Wert aus der Variable eingefügt anstelle der bisherigen FILLIN-Abfrage.
Alternativ könntest du das Datum deiner Datenquelle als Feld hinzufügen und dieses Einfügen. Über Excel sollte die Datenquelle auch durch Laien einfach und schnell angepasst werden können und so die Abfrage in Word umgangen werden.
lg Christian
Kommentar von Christian Bartl am 04.10.2016 um 18:48
Hallo Christian,
vielen ank für die schnelle Antwort. Ich werde mal die diversen Ansätze mal versuchen. Hatte mir schon fast gedacht, dass Word da keine echte Alternative bereitält.
Da es für alle Dokument immer der gleiche Wert ist, kann man bestimmt eine einfache Lösung bauen, z.B. mit einer Dialogbox und anschl. Suchen/Ersetzen eines Platzhalters im Hauptdokument, welches ja nicht zwingend gespeichert werden muss. Entsprechend dokumentiert ist das auch später un d durch andere nachvollziehebar, was mein Hauptanliegen ist. Ach ja, eins noch: Spende kommt noch heute :-)
Kommentar von Michael Q. am 04.10.2016 um 20:03
Hallo Michael,
gern geschehen, freut mich dir zumindest einen Lösungsansatz geliefert zu haben und recht herzlichen Dank für deine Spende.
lg Christian
Kommentar von Christian Bartl am 04.10.2016 um 21:29
Ich versuche gerade PDFs zu erstellen. Das klappt soweit auch super, nur habe ich einige Nachnamen doppelt. Hier erstellt er mir nur ein Dokument zu einem Namen und lässt den anderen einfach aus.
Wie kann ich das ändern?
Kommentar von Denise K. am 12.10.2016 um 11:06
Hallo Denise,
du musst dafür Sorge tragen, dass alle Dateinamen eindeutig sind, da formletter2pdf bereits existierende Dateien überschreibt und daher bekommst du bei identischen Nachnamen nicht alle PDFs. Passe das "file name pattern" entsprechend an - z.B. durch integrieren des Markers {%counter%} oder einer zusätzlichen eindeutigen Datenspalte aus deiner Datenquelle (z.B. Vorname, ID) um für jeden einzelnen Empfänger und damit jedes einzelne PDF einen eindeutige Dateinamen zu generieren.
lg Christian
Kommentar von Christian Bartl am 12.10.2016 um 14:51
Hallo,
ich habe heute ein etwas merkwürdiges Problem festgestellt:
Mein Quelldokument enthält u.a. zwei Felder zur Dokumentinformation: PRINTDATE und SAVEDATE. Beide sind in zwei Tabellenfeldern in der Fußzeile untergebracht und identisch formatiert. Beim Ausführen des Makros wird das PRINTDATE korrekt als Feld in die Einzeldokumente übernommen, aus dem SAVEDATE wird aber ein ganz normaler Text mit Datum und Uhrzeit der letzten Speicherung des Quelldokuments. Das Feld ist also weg. Was "doof" ist, weil die Einzeldokumente weiter bearbeitet werden und das Speicherdatum auch dort weiter aktualisiert werden soll. Besonders merkwürdig: Wenn ich mir die Einzeldokumente in der Serienbriefvorschau ansehe, ist das SAVEDATE korrekt als Feld vorhanden.
Woran könnte das liegen? Kann es sein, dass beim Abspeichern der Einzeldokumente das SAVEDATE des Quelldokumentes irgendwie nicht "überlebt", weil es neue Dokumente sind?
Ich habe eben noch mal schnell ein anderes Dokument gebastelt und auch hier: Das Feld SAVEDATE wird zum einfachen Text, das Feld PRINTDATE bleibt ein Feld.
(Microsoft Office 2010)
Dank und Gruß,
Stefan
Kommentar von Stefan am 28.10.2016 um 11:43
Hallo Stefan,
ich verstehe dein Problem, habe aber leider auch keine Lösung für dich, da das Verhalten definitiv von Word und nicht formletter2pdf ausgeht.
lg Christian
Kommentar von Christian Bartl am 28.10.2016 um 17:37
Hallo,
habe mit Vorfreude dieses Makro gefunden. Leider funktioniert es bei mir (WORD 2010) nur bedingt.
Die Beispieldatei wird ordnungsgemäß abgespeichert als einzelne Dateien auf einem Unterordner auf dem Desktop.
Wenn ich allerdings mein eigenen Serienbrief abspeichern will, wird zwar der Unterordner auf dem Desktop angelegt, aber es werden keine Dateien abgespeichert.
Das Makro arbeitet auch ein paar Sekunden und meldet Vollzug (1 form letter exported successfully), aber nichts wird abgespeichert, nicht mal einer.
Wo liegt der Fehler, da es ja im Beispiel funktioniert?
P.S. Das Serienfeld {ID} habe ich durch ein anderes {Feld} aus meinem Dokument ersetzt.
Vieln Dank im Voraus.
Gruß Thomas
Kommentar von Thomas am 02.11.2016 um 15:02
Hallo Thomas,
benutzt du Office 2010 zufällig unter Windows 10, denn dort ist mir bekannt, dass das Makro nicht funktioniert (neuere Office-Versionen machen allerdings keine Probleme). Ich habe aktuell noch keine Zeit gefunden mir entsprechende Testsysteme zu besorgen und diesen Fall zu analysieren, daher kann ich dir aktuell leider keine Lösung anbieten.
lg Christian
Kommentar von Christian Bartl am 02.11.2016 um 18:59
Hallo,
das Tool ist top genau das was ich gesucht habe. Nur tritt bei mir ein kleines Problem auf. Es wird nur ein Serienbrief erstellt und zwar nur der von dem ersten Datensatz aus der Datenquelle. In der Vorlage funktionert es, dort werden alle 10 Briefe separat abgespeichert. Hab ich da evtl einen Fehler beim Übertragen des Macros gemacht? Dazu zu sagen ist das meine Datenquelle eine Excel im Format .xlsm ist.
Danke schon mal,
Michael
Kommentar von Michael am 13.11.2016 um 16:07
Hallo Michael,
werden dir in der Vorschau der Serienbrieffunktion von Word alle Empfänger angezeigt? Wenn ja, ist zumindest ein Problem mit der Empfängerliste auszuschließen.
Eventuell generierst du keine eindeutigen Dateinamen, dann überschreibt sich die Datei immer wieder und es bleibt am Ende nur eine Datei statt 10 über. Ich habe auch Berichte, dass das Makro in der Kombination aus Windows 10 und Office 2010 so ein Verhalten zeigen kann, aber leider keine Lösung dafür.
lg Christian
Kommentar von Christian Bartl am 14.11.2016 um 19:37
Hallo Christian,
Ich habe heute noch mal ein wenig rum probiert. Es werden mir alle Empfänger in der Vorschau angezeigt, auch hab ich extra deine ID drin gelassen das es eineindeutige Dateinamen ergibt. Nutze auch Win7. Ich vermute das es an meiner Excel liegt die auch als Datenquelle dient. Meine Excel ist im Hintergrund voll VBA Skript. Wenn ich die Datei als normale .xlsx abspeichern dann und als Quelldatei nutze dann klappt es. Aber um den Serienbrief zu erstellen ist das ok. Trotzdem Danke, vlt hilft dir ja meine Info für deine Weiterentwicklung.
lg Michael
Kommentar von Michael am 14.11.2016 um 21:08
ich würde gerne diese Funktionalität im Publisher nutzen. Nur leider bricht bei mir die Ausführung immer mit einem Laufzeitfehler 438 ab. Objekt unterstützt diese Eigenschaft oder methode nicht.
Ich habe Makro und Form so eingebettet, wie es im beispiel Word geschehen war.
In einem TestWord Dokument klappt auch alles fehlerfrei. Nur gelingt es mir in Word nicht auch wechselnde Grafiken einzubetten, welche in einer Ordnerstruktur liegen und in der Datenquelle (XLS) mit angegeben sind.
Kommentar von Norbert am 17.11.2016 um 12:47
Hallo Norbert,
das Makro funktioniert definitiv nur unter Word, da es die Serienbrieffunktion voraussetzt, für andere Programme der Office-Reihe ist es nicht ausgelegt.
Bezüglich der wechselnden Grafiken kann ich dir folgenden Hinweis aus einem vorhergehenden Kommentar geben - vielleicht funktioniert es ja:
Die Funktion zum automatischen Aktualisieren von dynamischen Feldern ist bereits im Code integriert und du musst sie nur mehr aktivieren. Öffne dazu den Makroeditor und bearbeite den Quellcode des Formulars "formletter2pdf_form". Dort musst du Zeile 370 auskommentieren:
' update dynamic fields in created documents; remove comment from next line if needed
ActiveDocument.Fields.Update
Diese Codezeile bewirkt das Aktualisieren aller Formularfelder, wie du es sonst manuell mit F9 durchführst.
lg Christian
Kommentar von Christian Bartl am 17.11.2016 um 20:39
Hallo,
ich benutze das Makro, um aus einer Excel ca 1800 PDF Dokumente zu erstellen. Als Speicherort habe ich das "C" Laufwerk ausgewählt. Leider erscheint immer wieder die Ausgabe "Der ausgewählte Speicherort ist ungültig". Und das immer an einer unterschiedlichen Stelle e.g. nach dem 5. oder 10. manchmal nach dem 50. Dokument.
Die Dateinamen enthalten keinerlei nicht erlaubte Zeichen und sind durchgehend vollständig.
Was kann ich tun?
Vielen Dank und Grüße
Mirco
Kommentar von Mirco am 18.11.2016 um 15:56
Hallo Mirco,
das ist so schwer zu sagen, mir fällt jetzt auf die Schnelle kein eindeutiger Grund ein. Kommt bei dir wirklich eine Fehlermeldung in Deutsch? - dann wäre Sie von Word direkt, denn formletter2pdf gibt nur englische Meldungen aus. Tritt das Problem auch auf wenn du einen Pfad in einem Verzeichnis (z.B. deinem Benutzerordner auswählst) auf den dein Benutzer auch definitiv die vollen Rechte hat?
lg Christian
Kommentar von Christian Bartl am 19.11.2016 um 16:15
Hallo Christian,
das Makro und die unterstützten Dateiformate funktionieren super.
Gibt es die Möglichkeit eine Funktion einzubetten, die z.B. eine Unterscheidung zwischen PDF-Export und Ausdruck ermöglicht?
Anwendungsfall, Rechnungsdruck mittels Serienbrief, wobei einige Kunden die Rechnung per Post oder persönlicher Zustellung bevorzugen, andere wiederum ein angehängtes PDF an eine Email bevorzugen.
Danke Matthias
Kommentar von Matthias am 25.11.2016 um 22:31
Hallo Matthias,
aktuell kann das Tool das nicht, aber mit ein paar kleinen Anpassungen am Code lässt sich das wie folgt vermutlich sehr einfach bewerkstelligen:
Du musst in deiner Empfängerliste eine Spalte schaffen in der du z.B. mit 0 und 1 kennzeichnest ob der Empfänger einen Ausdruck oder ein PDF erhalten soll. An der Stelle im Makro wo die Dateien gespeichert werden, musst du dieses Feld dann abfragen und per Makro im Bedarfsfall anstelle des Exports den Druck-Dialog starten.
Ich habe per Makro bisher noch nie die Druckfunktion angestoßen, kann mir aber vorstellen, dass hier dann jedes Mal der Druck-Dialog aufgeht, der dann manuell bestätigt werden muss - vermutlich ziemlich mühsam.
Alternativ nutzt du das Feld um 0 und 1 dem Dateinamen voranzustellen (file name pattern), so kannst du nach dem Export im Zielordner einfach alle PDFs mit einer 1 zu Beginn über einen PDF-Viewer drucken und die mit 0 per E-Mail versenden. Vorteil: Das kannst du mit dem Makro jetzt schon bewerkstelligen.
lg Christian
Kommentar von Christian Bartl am 26.11.2016 um 13:40
Hallo,
das Makro funktioniert bei mir super!
Meine Frage wäre:
Kann ich irgenwie nur einzelne Seiten des Serienbriefs als PDF speichern? Also z.B. habe ich insgesamt 500 Seiten, möchte aber nur Seite 10, 167 und 284 als PDF speichern. Ist das möglich?
LG Jonas
Kommentar von Jonas am 18.12.2016 um 12:57
Hallo Jonas,
damit habe ich mich bisher noch nicht beschäftigt und zumindest mir ist jetzt auf die Schnelle auch keine Lösung bekannt.
Am ehesten sehe ich noch eine Chance darin, die bereits durch formletter2pdf generierten Dateien, mittels Stapelverarbeitung von PDF-Editioren (wie z.B. Adobe Acrobat Pro) entsprechend zu bearbeiten.
lg Christian
Kommentar von Christian Bartl am 18.12.2016 um 20:20
Hallo,
vielen Dank für dieses wirklich tolle Makro.
Allerdings haben bei uns die PDF-Dokumente immer eine Seite "Zuviel":
Wir verwenden eine Dokumentenvorlage, bei der die Kopf-/Fußzeile der erste Seite abweichend ist.
Nun wird ein z.B. 3-seitiger Brief als PDF mit 4 Seiten erzeugt, wobei die 4. Seite nochmals die Kopf-/Fußzeilen der ersten Seite ohne weiteren Inhalt enthält....
Kommentar von Andreas R. am 13.01.2017 um 14:34
Hallo Andreas,
das liegt vermutlich am Aufbau des Word-Dokuments und dem in Word enthaltenen PDF-Exporter. Ich habe das bei einzelnen PDF-Exports auch schon beobachtet. Versuche einmal den Abstand der Seitenränder zu verändern oder dein Dokument um eine Zeile zu kürzen.
lg Christian
Kommentar von Christian Bartl am 16.01.2017 um 19:23
Auch ich möchte mich erst einmal herzlich für dieses Makro bedanken.
Nach unzähligen Stunden selbst rumprobieren, scheine ich der Lösung nah!
Folgendes: Ich muss weit über 100 Serienbriefe erstellen, in dem jeweils eine andere Grafik gezeigt wird.
Das ganze mache ich, indem ich in meiner Excel-Quelle eine Spalte mit den Dateipfaden habe (Ja, ich habe überall doppel Backslashs) und mit {INCLUDEGRAFIC "{MERGEFIELD Bildpfad}"} einfüge.
Mein Problem besteht nun darin, dass beim Abspeichern mit fromletter2pdf in jedem Brief die Grafik aus Brief 1 ist. Auch in der Vorschau muss ich beim Vor-/Zurückgehen das Bild immer extra aktualisieren. Alles andere funktioniert. Gibt es da eine Lösung?
Ich erstelle zum ersten Mal sowas und bin langsam echt ratlos und jeden Brief einzeln zu speichern scheint keine erstrebenswerte Option.
LG,
DiPi.
Kommentar von DiPi am 01.02.2017 um 20:51
Hallo DiPi,
hiflt dir vielleicht der untenstehende Hinweis aus einem vorhergehenden Kommentar?
Die Funktion zum automatischen Aktualisieren von dynamischen Feldern ist bereits im Code integriert und du musst sie nur mehr aktivieren. Öffne dazu den Makroeditor und bearbeite den Quellcode des Formulars "formletter2pdf_form". Dort musst du Zeile 370 auskommentieren:
' update dynamic fields in created documents; remove comment from next line if needed
ActiveDocument.Fields.Update
Diese Codezeile bewirkt das Aktualisieren aller Formularfelder, wie du es sonst manuell mit F9 durchführst.
lg Christian
Kommentar von Christian Bartl am 02.02.2017 um 18:57
Hallo Christian,
vielen Dank für dieses tolle Makro.
Ich hätte eine Frage: welche Max. Länge ist denn für die Feldnamen vorgesehen. {field-name}
Ich hatte das Problem das ein Feldname anscheinend zu lang war.
Es wurden zwar die PDFs erzeugt, der Feldname in den Dateien aufgelöst, aber im Dateinamen wurde kein einziger Parameter ersetzt.
Erst mit der Umbenennung dieses einen Feldnamen in der Datenquelle konnte ich das Problem lösen.
Kommentar von Gerhard E. am 01.02.2017 um 21:40
Hallo Gerhard,
auf dieses Problem bin ich bisher selbst noch nicht gestoßen und würde jetzt auch auf die schnelle keine technische Einschränkung erkennen, daher kann ich dir keine maximale Länge nennen.
Ich werde mir das Thema allerdings notieren und in die nächste Version miteinfließen lassen.
lg Christian
Kommentar von Christian Bartl am 02.02.2017 um 18:55
Hallo Christian,
vielen Dank für den Support.
Ich hatte das Problem mit der Länge geschildert.
Ich habe meine Problem nochmals analysiert.
Es ist nicht die Länge, sondern ein Parameter besitzt einen Bindestrich.
Dann wurde alle Parameter im Dateinamen nicht aufgelöst, jedoch im Word im Dokument.
Als Sonderzeichen wäre "-" eigentlich erlaubt.
Testumgebung: Window7 64 bit, Word 7 und Word 13.
LG
Gerhard
Kommentar von Gerhard E. am 15.02.2017 um 11:54
Guten Tag,
ich benutze ihre Datei bereits seit einigen Monaten. Noch letzte WOche hat es funktioniert. Heute wird mir beim Abspeichern der einzelnen PDF-Dateien die Meldung: "Unknown Error: 5631 - Please try to run formletter.. again". Weiß einer woran es liegt?
Gruß
Kommentar von Emre am 08.02.2017 um 16:56
Hallo Emre,
die Word-Fehlermeldungen sind leider nicht so aussagekräftig, um daraus genug Rückschlüsse auf die Ursache ziehen zu können. Was hat sich denn seit dem es das letzte Mal funktioniert hat, an deiner Datei oder an der Empfängerliste geändert? Versuche doch einmal die Empfängerliste in Word neu auszuwählen, vielleicht schafft das Abhilfe.
lg Christian
Kommentar von Christian Bartl am 10.02.2017 um 16:39
Leider klappen bei mir nicht mal die ersten Schritte, wenn ich bei der ANLEITUNG bei Schritt 1 die Datenquelle auswählen soll und "formletter2pdf.mdb" reinladen soll, wird die Datei im Ordner nicht angezeigt. Selbst wenn ich "Alle Dateien" anzeigen lasse. Wo liegt da der Fehler?
Danke im voraus!
Kommentar von Kerstin am 20.02.2017 um 12:06
Hallo Kerstin,
das kann ich mir jetzt eigentlich nicht erklären, da dies ja eine Funktion ist die Word von sich aus zu Verfügung stellt. Eventuell ist in der Home-Edition in der auch kein Access mitgeliefert wird, diese Funktion beschränkt (wäre mir aber neu). Du kannst Alternativ auch die Empfängerliste direkt in Word erzeugen oder eine Excel-Datei nutzen.
lg Christian
Kommentar von Christian Bartl am 20.02.2017 um 18:15
Hallo Christian,
Dein Code ist super, er funktioniert schnell und sauber.
Ich möchte nur gerne auch die Generierten Pdfs per E-mail automatisch verschicken. Hast du eine Idee wie ich es am besten machen kann. Ein Kombifeld habe ich schon als Email Adresse deklariert. Ich weiß aber nicht wie ich den Wert in einer Variable abfragen kann.
Kannst du mir da ein Hinweis zu geben ?
Danke im voraus.
Thomas
Kommentar von Thomas H. am 27.02.2017 um 16:09
Hallo Thomas,
ich habe das bisher auch noch nicht umgesetzt, daher habe ich keine schnelle Lösung für dich. Fakt ist aber, aus meinen ersten Recherchen, dass du hier die Kombination aus Word und Outlook nutzen musst und darüber aus dem Makro-Code heraus E-Mails generieren und versenden kannst.
Was meinst du mit "du weißt nicht wie du den Wert der Variable abfragen kannst" genau?
lg Christian
Kommentar von Christian Bartl am 28.02.2017 um 20:24
Hallo Christian,
was ich meine ist wie kannst du in dem VBA Code den Wert eines Feldes der Kombinationsfelder abfragen und einer Variable zuordnen
Bzw. du machst es ja mit dem Wert der in file name pattern angegeben wird. Ich möchte nur wissen wenn ich ein Feld Email-Adresse in meiner excel Kombiliste habe wie kann ich dies als Variable deklarieren.
Wenn ich es hinkriege gebe ich dir auch gerne den Code falls du Sie für Mailings benutzten möchtest.
Danke im voraus.
Thomas
Kommentar von Thomas H. am 01.03.2017 um 15:16
Hallo Thomas,
um Werte aus den einzelnen Spalten deiner Datenquelle auszulesen musst du auf das MailMerge-Objekt zugreifen:
ActiveDocument.MailMerge.DataSource.DataFields("<Spaltenname>").Value
Im Quellcode meines Makros findest du die Verwendung dieses Zugriffs z.B. in Zeile 232 des Formulars. Beachte, dass du sämtliche Erweiterungen innerhalb dieser Schleife ergänzen musst, da nur dort immer die Werte des gerade aktiven einzelnen Serienbriefs verfügbar sind.
lg Christian
Kommentar von Christian Bartl am 01.03.2017 um 21:45
Hallo, erstmal... ein super Tool :-)
Eine Frage. Ich speichere die Dokumente unter Name und Vorname. Hier benötige ich jedoch nur jeweils die ersten 3 Buchstaben. Diese werden dann zu einem Dok-Namen zusammengesetzt.
Beispiel: Muster Hans = MusHan
Ist dies mit deinem Tool auch möglich?
Gruss
Kommentar von Andi am 02.03.2017 um 21:17
Hallo Andi,
das geht aktuell noch nicht. Dazu müsstest du den Quellcode an der Stelle der Dateinamensgenerierung adaptieren und entsprechend die Marker auf 3 Zeichen kürzen.
Einfacher und ohne Programmieraufwand: Nutze in Excel die Formelfunktion um aus deinen Spalten Vorname und Nachname in zwei Extra-Spalten VornameKurz, NachnameKurz die Werte mit nur 3 Zeichen zu generieren und ziehe diese neuen Felder in formletter2pdf für die Dateinamensgenerierung über das "file name pattern" heran.
lg Christian
Kommentar von Christian Bartl am 03.03.2017 um 15:08
Hallo Christian,
Hast du eine Idee, warum sich der Word Prozess im Arbeitsspeicher so massiv aufbläht ?
Ich möchte ca 26.000 PDFa Dateien mit je einer Seite erzeugen. Der Prozess startet auch richtig schnell ( >100 Dateien pro Minute)
Aber nach ca 5000 Dateien dauert es 10 Sekunden pro Datei.
Haben schon andere User von einem solchen Phänomen berichtet ?
Grüße, Rolf
Kommentar von Rolf am 06.03.2017 um 18:58
Hallo Rolf,
ich denke, das liegt daran, dass Word für jede zu speichernde Datei ein eigenes Dokument erstellt und damit eine weitere Instanz von Word startet. So eine große Anzahl von Dateien habe ich bisher selbst noch nicht erstellt und daher das berichtete Verhalten selbst noch nicht erlebt.
Ich habe den Code gerade noch einmal geprüft und die weiteren Word-Instanzen werden dort korrekt geschlossen, insofern kann ich programmatisch an diesem Punkt leider nichts verbessern.
Die einfachste Lösung ist vermutlich, du teilst deine Empfängerliste, um so eine Reduktion der Gesamtanzahl pro Durchlauf zu erreichen.
lg Christian
Kommentar von Christian Bartl am 06.03.2017 um 19:58
Hallo,
erst einmal Danke für das Tool und eure Arbeit und dass ihr dies als open source anbietet. Kann sich echt sehen lassen!
Zu meinem Anliegen:
Habe eine Word 2016 Datei erstellt und den Serienbriefassistenten genutzt. Habe euer worddokument geöffnet und versuche das Makro in meiner Datei zu verwenden. Es wird in der Makroliste angezeigt und ich kann dieses auch ausführen. Meine DB beinhaltet 628 Datensätze und ich erhalte jedoch nur 251 pdf Dateien und die Fehlermeldung "Unknown Error: 5631: Please try to run formletter2pdf again."
Woran könnte dies liegen? Den einzigern Unterschied zwischen eurer und meiner Datei, den ich sehen kann (bin kein Wordprofi), ist, dass in der Makroliste "Project.formletter2pdf.formletter2pdf" fehlt.
Danke im Voraus für eure Unterstützung.
Viele Grüße,
Daniel
Kommentar von Daniel am 13.03.2017 um 07:44
Hallo Daniel,
die Word-Fehlernummern lassen leider selten Rückschlüsse auf das eigentliche Problem zu. Aber nachdem einige Dateien generiert wurden und dann das Makro abbricht, tippe ich auf ein Problem mit Sonderzeichen im generierten Dateinamen.
Schaue einmal in Excel in der Zeile 252 - also der nächste Datensatz nach der als letztes generierten Datei - ob dort in den Feldern die die für die Erstellung des Dateinamen nutzt irgendwelche Sonderzeichen wie z.B. á enthalten sind.
lg Christian
Kommentar von Christian Bartl am 17.03.2017 um 09:21
Hallo Christian,
danke für dein deine Antwort. Ich habe einmal in die Zeile geschaut aber leidr nichts gefunden. Ich habe jedoch andere Felder mit Sonderzeichen gefunden und diese entfernt. Nun fehlen mir am Ende insgesamt 5 pdfs von 628. Dies ist für mich total hinnehmbar. Diese kann ich am Ende finden und manuell erstellen. Ist zwar keine perfekte Lösung aber nahezu. Ich danke für deine Unterstützung! Super Tool habt ihr da entwickelt.
Kommentar von Daniel am 17.03.2017 um 09:34
Hallo nochmal,
ich sehe gerade, dass die Datei mit "é" ganz normal erstellt wurde :)
Kommentar von Daniel am 17.03.2017 um 09:44
Hallo Christian,
zwei Fragen und eine Klarstellung:
Bei der Eingabe des "Foldername" gibt es den Parameter -{%timestamp%}.
Ich kann aber keine Seriendruckfeldnamen (Source field markers) wie beim Dateinamen verwenden.
Kann man das ändern?
Bei kontrollieren der Serien-PDFs ist mir aufgefallen, dass kein Font embedded.
Kann man beim Speichern der PDFS den verwendeten Font noch mit einbetten?
Ich hatte am 15. Februar, das Problem mit dem Bindestrich gemeldet.
Sorry, das war von meiner Seite nicht korrekt recherchiert.
Das Problem trat zufälligerweise mit einem Parameter im Foldername auf.
Bindestriche werden ansonsten in Parametern automatisch eleminiert.
Kommentar von Gerhard E. am 20.03.2017 um 11:51
Hallo Gerhard,
das mit den dynamischen Ordnernamen geht aktuell noch nicht und lässt sich beim derzeitigen Aufbau des Makros leider auch nicht eben mal so einfach integrieren.
Um Word anzuweisen die Schriften in die gespeicherten Dokumente einzubinden, muss eine Option in den Word-Einstellungen gesetzt werden (diese Einstellung kann pro Dokument oder generell für alle zukünftig neu erstellten Dokumente gesetzt werden). Gehe dazu unter Datei -> Optionen -> Speichern und aktiviere die Option "Schriftarten in der Datei einbetten".
lg Christian
Kommentar von Christian Bartl am 22.03.2017 um 21:10
Hallo Christian,
vielen Dank für das tolle Tool.
Ich würde gerne beim Erstellen des Folder Names Parameter für den Pfadnamen übergeben, damit im Pfadnamen eine Zuordnung habe.
z.B. {WstENr}
Kann man das Einrichten?
Vielen Dank im Voraus.
LG
Gerhard Eisert
Kommentar von Gerhard E. am 22.03.2017 um 10:39
Hallo Gerhard,
wie im vorhergehenden Kommentar bereits erwähnt, ist das aktuell leider nicht möglich.
lg Christian
Kommentar von Christian Bartl am 22.03.2017 um 21:11
Hallo Christian,
ich finde Dein Makro super würde mir aber wünschen, dass man die *pdf Dateien direkt nach der Erstellung oder wann immer per Email versenden kann. Ich habe die Email-Adresse und die "Briefanrede bereits in der Datenquelle, die ein Excel-Chart ist. Gibt es das eventuell schon oder kannst Du uns das gerne auch kostenpflichtig programmieren?
Ich freue mich auf Deine Antwort.
Grüße
Evelyn
PS wo kann ich sehen, mit welcher Version ich arbeite?
Kommentar von Evelyn am 23.03.2017 um 12:59
Hallo Evelyn,
die von dir genannte Funktionalität steht auf der Liste für eine der nächsten Versionen. Da ich das Projekt in meiner Freizeit betreibe, wird sich der nächste Release allerdings auch noch etwas Zeit lassen.
Die Versionsnummer des von dir benutzten Makros findest du in der linken unteren Ecke des Dialogfensters.
lg Christian
Kommentar von Christian Bartl am 23.03.2017 um 18:40
Hallo Christian,
ich habe in Acces einen Bericht erstellt, der Daten aus 3 verschiedenen Tabellen zusammenführt. Anhand der ID bringt er Kosten, Adress- und Flächenangaben zusammen. Gibt es eine Möglichkeit, Dein Makro auch für einen Acces-Bericht zu nutzen, da ich diese Kombination nicht als Word-Serienbrief generiert bekomme?
Danke für Deine Antwort Rainer
Kommentar von Rainer am 28.03.2017 um 07:56
Hallo Rainer,
das Makro ist rein auf die Serienbrieffunktion von Word ausgelegt und würde alleine schon wegen den Unterschieden in VBA nicht in Access funktionieren.
Als möglichen Workaround könntest du die notwendigen Daten mit Access in eine CSV-Datei exportieren und diese als Datenquelle für den Word-Serienbrief nutzen, in dem du dann deine Berichte nachstellst.
lg Christian
Kommentar von Christian Bartl am 28.03.2017 um 19:57
Hallo Christian,
ich habe einen Serienbrief erstellt, der mit einer Excel Tabelle verknüpft ist. Diese beinhaltet 50 Zeilen (+ erste Zeile als Überschrift) und sollte mir daher auch 50 einzelne PDF Dateien auswerfen. Leider werden trotz mehrmaligem Versuch nur 42 Elemente erstellt. Woran kann das Liegen?
Kommentar von Benedikt am 18.04.2017 um 17:57
Hallo Benedikt,
eine Möglichkeit besteht darin, dass sich die generierten Dateinamen überschneiden - formletter2pdf würde dann bereits erstellte Dateien ohne Nachfrage einfach überschreiben.
Wenn du in Word die Vorschaufunktion nutzt, werden dir dort alle 50 Empfänger angezeigt? Wenn nein, liegt es vermutlich an der Datenquelle bzw. der Auswahl der Empfänger.
lg Christian
Kommentar von Christian Bartl am 18.04.2017 um 18:18
Hallo,
vielen Dank für das sehr hilfreiche Tool - leider bekomme ich es aber auf meinem Rechner nicht zum Laufen. Auf einem anderen Rechner funktioniert alles wie beschrieben, bei mir geht nach Ausführung des Makros immer ein Dialog "Datei Speichern" auf und danach bekomme ich die Fehlermeldung: "formletter2pdf has been aborted, because an invalid file name has been detected. Please check the values of the fields used in the file name pattern for invalid cahracters and run formletter2pdf again".
Danke für die Hilfe!
Kommentar von Andreas F. am 02.05.2017 um 15:47
Hallo Andreas,
der Dateinamen wird über das "file name pattern" dynamisch aus den Werten der einzelnen Felder der Empfängerliste generiert. Es gibt einige Zeichen die in Dateinamen nicht erlaubt sind. Wird so einer entdeckt, bricht das Makro mit der genannten Fehlermeldung ab. Stelle daher sicher, dass im file name pattern und in den Feldern die du für den Dateinamen benutzt keine Zeichen wie / \ : * ? < > | oder ähnliche Sonderzeichen vorkommen.
lg Christian
Kommentar von Christian Bartl am 02.05.2017 um 20:26
Danke für die schnelle Antwort - nur leider habe ich das Problem mit der Beispieldatei (ohne etwas daran geändert zu haben).
Kommentar von Andreas F. am 02.05.2017 um 21:21
Hallo Andreas,
ich hab eben zur Sicherheit das Makro noch einmal unter Windows 10 mit der letzten Version von Office 365 ausprobiert und konnte dein Problem nicht nachstellen.
Welche Office-Version unter welchem Betriebssystem nutzt du denn?
lg Christian
Kommentar von Christian Bartl am 03.05.2017 um 20:56
Ein Super-Tool, vielen Dank! Ich würde die erstellten PDF Dateien gerne automatisiert an email Empfänger senden, die ebenfalls in der Excel-Datendatei hinterlegt sind. Ist das möglich? Danke!
Kommentar von BS am 08.05.2017 um 22:08
Hallo BS,
das ist aktuell leider noch nicht möglich.
lg Christian
Kommentar von Christian Bartl am 09.05.2017 um 12:04
Hallo,
ich würde das Makro auch gerne verwenden, erhalte allerdings die Fehlermeldung "Unkown Error: 5631". Dies gils sowohl für PDF als auch Docx Dokumente.
Wie ich in anderen Kommentaren schon gelesen habe, kann hier der Dateiname ein Problem darstellen, weshalb ich eine fortlaufende Nummer als Name verwendet habe.
Leider tritt der Fehler trotzdem auf. Der Ordner für die Dokumente wird erstellt, danach bricht der Vorgang ab.
Ich verwende das aktuelle Office 365 unter Win 10 x64.
Kommentar von Jürgen am 28.08.2017 um 21:09
Hallo Jürgen,
ich habe das Makro bei mir eben noch einmal auf der letzten Office 365-Version unter Windows 10 getestet und konnte kein Problem feststellen.
Der Fehlercode weißt meiner schnellen Recherche nach auf den Versuch ein Feld der Datenquelle zu benutzen, das dort gar nicht existiert. Ich vermute du nutzt für deinen Feldnamen eventuell ein falsches Feld. Du kannst dir im Dialog die korrekten Feldnamen einblenden lassen, die dir für das "file name pattern" zu Verfügung stehen.
Hast du das Problem auch mit dem beiliegenden Beispieldokument?
lg Christian
Kommentar von Christian Bartl am 01.09.2017 um 15:57
Guten Tag,
das formletter2pdf ist ein Tool welches bislang bei Microsoft fehlte. Habe es ausprobiert und auf Anhieb ist es mir dann auch gelungen die einzelnen PDF's zu erstellen. Leider muss mann das Directory usw. immer neu eingeben, oder ich habe was übersehen! Und die Geschwindigkeit, da schläft man ja ein. Da gibt es Programme wie z.B. von Mirko Böer, kein Problem mit der Geschwindigkeit aber halt ein Programm und kein Tool und vom Web-Design gar nicht zu reden.
Dann hätte ich eine Frage: kann ich als Sponsor auch eine Rechnung erhalten?
Beste Grüße nach Wien
Kommentar von Lucien R. am 31.08.2017 um 18:52
Hallo Robert,
das Tool merkt sich aktuell nur zwischen den einzelnen Durchläufen, während das Ausgangsdokument geöffnet bleibt, die getroffenen Einstellungen und nicht dauerhaft.
Die Geschwindigkeit ist durch Word vorgegeben, da formletter2pdf auf den von Word bereitgestellten Boardmitteln und der dort enthaltenen Makro-Programmierung aufsetzt - dafür muss es auch nicht installiert werden und kann unkompliziert mit dem Basisdokument an Dritte weitergereicht werden.
Eine Rechnung für eine getätigte Spende kann ich dir als Privatperson leider aktuell nicht ausstellen.
lg Christian
Kommentar von Christian Bartl am 01.09.2017 um 16:02
Hallo Christian,
danke für die schnelle Nachricht.
Das mit Word war mir schon fast klar. In Hinsicht der Schnelligkeit hat sich seit Jahren bei Microsoft nichts getan.
Ich hatte vor einer Ewigkeit X WordStar mit Word verglichen und schon damals war WordStar bis zu 5 X schneller als Word. Auch ich musste auf Word umsteigen, leider.
Die Rechnung könnte auf meine Fa. ausgestellt werden.
Geht das?
?Beste Grüße
Kommentar von Lucien R. am 02.09.2017 um 10:03
Wunderbares Tool. Funktioniert (nach Anleitung) perfekt und sofort. 1mio Dank!
Kurze Frage: Transparente Images in dem Serienbrief werden per Acrobat richtig, per formletter2pdf als schwarzer Block dargestellt. Hast du eine Idee?
Kommentar von Jens am 17.09.2017 um 19:31
Hallo Jens,
formletter2pdf nutzt die PDF-Funktion von Microsoft Word die auch meiner Erfahrung nach leider nicht 100% zufriendenstellende Ergebnisse liefert. Und vor allem sind viele der Ergebnisse nicht nachvollziehbar.
Hast du eventuell schon einmal probiert, die transparenten Grafiken im Grafikprogramm neu abzuspeichern. Eventuell hilft auch der Wechsel des Grafikformats (GIF/PNG) oder bei PNG verschiedene Methoden der Speicherung (Interlaced, ...).
lg Christian
Kommentar von Christian Bartl am 28.09.2017 um 20:44
...probiert, bislang jedoch ohne Erfolg. Wie dem auch sei. Herzlichen Dank für deine Arbeit :-)
Kommentar von Jens am 10.10.2017 um 08:57
Hallo Christian,
Ich muss von meiner Firma aus einen Serienbrief an alle unsere Lieferanten machen. Nun habe ich die Serienbriefe auf Deutsch und Englisch aufgeteilt und bin dran, die Word-Dokumente einzeln abzuspeichern, damit ich diese dann im E-Mail versenden kann. Leider steh ich da nun an und weiss nicht mehr weiter. Es sind ca. 400 Lieferanten und ich will nicht alles einzeln machen müssen, da bin ich ewigs dran. Kannst du mir weiterhelfen? Leider habe ich nicht wirklich viel Erfahrungen mit Makros. Danke. Ich grüsse dich
Irina
Kommentar von irina am 19.09.2017 um 08:22
Hallo Irina,
am Anfang der Website wird sowohl das Erstellen eines Serienbriefes, als auch die Installation des Makros Schritt für Schritt mit Screenshots erklärt.
lg Christian
Kommentar von Christian Bartl am 28.09.2017 um 20:41
Hallo Christian,
zuerst vielen Dank für dieses tolle Tool. Ich bin absolut neu auf diesem Gebiet und möchte die generierten Dateien direkt in einen vorhandenen, ohne Anlage eines neuen, Ordner speichern. Wie kann ich dies erreichen?
Vielen Dank und beste Grüße
Udo Müller
Kommentar von Udo M. am 26.09.2017 um 14:29
Hallo Udo,
das Speichern von Dateien in einen bereits vorhandenen Ordner, ohne das Anlegen eines neuen Ordners, wird durch das Tool aktuell nicht unterstützt.
lg Christian
Kommentar von Christian Bartl am 28.09.2017 um 20:40
Hallo, habe soeben formletter2pdf eingerichtet und sofort nutzen können. Das Tool trifft genau die Lücke, die ich in der Funktion von Word hatte. Vielen Dank dafür.
Eine kleine Idee hätte ich zur Nutzung. Super wäre es, die Variablen für die Dateinamen direkt aus der Listenübersicht erstellen zu können. Damit würde eine Fehlerquelle durch Tippfehler umgangen. Wäre das möglich?
Gruß
Jörg
Kommentar von Jörg am 25.10.2017 um 21:26
Hallo alle zusammen,
als erstes eine sehr gute vba-Funktion, doch bei mir unter Office365 läuft Sie nicht...
Die Funktion speichert die Daten nicht einzeln, sondern speichert einfach eine Kopie ab (in der man weiterhin die Datei bearbeiten kann, bevor man Serienbriefe erstellt).
Es taucht zudem die Fehlermeldung ´´Unknown Error´´ auf und es wird ein einziger Serienbrief geöffnet mit dem Namen ´´Serienbrief1´´.
Bitte um einen Rat. Danke im Voraus!
Kommentar von Wladimir am 01.12.2017 um 14:08
Hallo Wladimir,
ich hab das Makro eben zur Sicherheit noch einmal mit der aktuellsten Version von Office getestet und in der Testdatei hat es bei mir einwandfrei geklappt. Funktioniert die Test-Datei aus dem Download-Paket auf deinem Rechner?
Hast du eventuell bereits auf "Fertig stellen und zusammenführen" geklickt bevor du formletter2pdf ausgeführt hast? Du musst formletter2pdf nämlich in der Ausgangsdatei und nicht im fertigen Serienbrief ausführen.
lg Christian
Kommentar von Christian Bartl am 04.12.2017 um 20:30
Hallo Christian,
danke für deine schnelle Antwort.
Ich hab jetzt gemerkt, dass es auf meinem privaten Rechner problemlos funktioniert.
Auf meinem Arbeitsrechner aber nicht, hängt wahrscheinlich mit der beschränkten Office Version zusammen oder mit Sicherheitseinstellungen...
Gruß Wladimir
Kommentar von Wladimir am 05.12.2017 um 18:50
Wir haben das Problem, dass beim Erstellen eines Serienbriefes, der ein Seriendruckfeld Database enthält, formletter2pdf die Fehlermeldung "Unknown error 4248" ausgibt - hat jemand einen Tipp für uns, wo das Problem liegen könnte?
Kommentar von Barbara G. am 15.12.2017 um 13:16
Hallo Barbara,
formletter2pdf bedient sich einiger Tricks und hat vor allem mit speziellen Seriendruckfelder des öfteren ein Problem. Eine einfache Lösung kann ich dir ohne das Dokument zu kennen daher leider nicht anbieten. Aber versuche doch mal folgenen Trick - der hilft bei vielen dynamischen Datenfeldern:
Die Funktion zum automatischen Aktualisieren von dynamischen Feldern ist bereits im Code integriert und du musst sie nur mehr aktivieren. Öffne dazu den Makroeditor und bearbeite den Quellcode des Formulars "formletter2pdf_form". Dort musst du Zeile 370 auskommentieren:
' update dynamic fields in created documents; remove comment from next line if needed
ActiveDocument.Fields.Update
Diese Codezeile bewirkt das Aktualisieren aller Formularfelder, wie du es sonst manuell mit F9 durchführst.
lg Christian
Kommentar von Christian Bartl am 16.12.2017 um 09:54
Hi Christian,
Wenn ich das Makro auf MS Word auf Mac laufen lassen will erscheint ein Laufzeitfehler "424".: Objekt erforderlich.
Das Problem liegt anscheinend in der Zeile mit "formletter2pdf_form.Show" in
' test if document is a formletter and view form
'
Dim MailMergeState As Object
Set MailMergeState = ActiveDocument.MailMerge
If MailMergeState.State = wdMainAndDataSource Then
formletter2pdf_form.Show
Else
MsgBox "formletter2pdf cannot be executed, because this document isn't a form letter. Please start the mail merge function first and then run formletter2pdf again.", vbOKOnly + vbCritical
End If
Weißt du woran das liegen könnte? Habe ich etwas falsch gemacht?
Danke und liebe Grüße
Veronika
Kommentar von Veronika am 03.01.2018 um 15:27
Hallo Veronika,
ich habe das Makro nach einer langen Zeit, selbst wieder einmal unter Mac OS getestet und herausgefunden, dass sich sowohl von Seiten Apple aus auch Microsoft einiges getan hat und daher viele Teile von formletter2pdf nicht mehr funktioniert.
Aktuell läuft formletter2pdf daher auf Mac nicht und ich werde versuchen in den nächsten Wochen die Funktionalität wiederherzustellen und eine neue Version zu veröffentlichen.
lg Christian
Kommentar von Christian Bartl am 28.01.2018 um 12:52
Hallo Veronika,
ich habe eben eine neue Version von formletter2pdf online gestellt. Damit sollte es jetzt auch am Mac wieder klappen.
lg Christian
Kommentar von Christian Bartl am 04.03.2018 um 14:57
Hallo.
Ich bin auf der Suche nach eine Möglichkeit gewesen, wie ich ein Worddokument mit Serienbrief beim Abspeichern die Namensfelder der Serienbrief-Funktion automatisch im Dateinamen eingefügt werden.
Da bin aich auf dieses Tool gestossen und wollte es (weil OpenSource) für meine Zwecke nutzen.
Am Anfang bei Lesen des Makros war ich euphorisch.
Nun musste ich feststellen, das es nicht so reibungslos funktioniert, und ich weiß, dass der Großteil meine Schuld ist.
Ich habe das Makro in mein Doc einbinden wollen und habe den Code in "ThisDocument" eingefügt.
Aber es funktioniert bei mir nicht.
Die Erklärung am Anfang der Website bezieht sich ja auf das starten des formletter2pdf File.
Oder sehe ich was falsch?
LG
Peer
Kommentar von Peer am 08.01.2018 um 15:44
Hallo Peer,
das Einrichten des Makros im eigenen Dokument wird im Abschnitt "formletter2pdf-Makro einrichten" erklärt.
Es ist wichtig das Makro von der Vorlage vollständig in das eigene Dokument zu kopieren. D.h. sowohl das Formular forletter2pdf_form als auch das Modul formletter2pdf. Nur wenn beide Komponenten kopiert wurden, funktioniert das Makro im neuen Dokument.
lg Christian
Kommentar von Christian Bartl am 28.01.2018 um 12:01
Hallo Christian,
das Makro für den Serienbrief funktioniert einwandfrei und erleichtert uns das Arbeiten ungemein - wirklich super!
Wir hätten aber noch zwei Wünsche zur Verbesserung:
1.) Wäre es möglich, das Makro für die Dateinamen der einzelnen Dokumente so umzuschreiben, dass sich dieser nicht nur aus dem Excel-Feld "ID" zieht, sondern eine Kombination aus "ID" und dem Dateinamen des Seriendokuments ist, also z.B. ID=12345, Seriendokument heißt "Anschreiben.docx", dann sollen das Dokument, das mit der Serienbrieffunktion erstellt wurde, automatisch unter "12345 (Anschreiben).docx" gespeichert werden, anstatt nur unter "12345" -wie es das aktuelle Makro vorsieht.
2.) Ist es möglich im Makro zu hinterlegen, dass sich der Zielordner, unter dem die neu erstellten Seriendokumente gespeichert wurden, im Anschluss automatisch öffnet?
Damit könnten wir die Dokumente sofort aufrufen und drucken, ohne über den Explorer in den jew. Unterordner klicken zu müssen.
... das wäre ein Traum ;-))
Viele Grüße, Kathy
Kommentar von Kathy am 17.01.2018 um 13:07
Hallo Kathy,
beide Wünsche kann ich dir erfüllen:
1) Das funktioniert heute bereits. Du kannst im "file name pattern" den Platzhalter {%filename%} verwenden um den Dateinamen zu verwenden. In dem von dir genannten Beispiel müsste das file name pattern damit wie folgt lauten:
{ID} ({%filename%})
2) Mit einer kleinen Ergänzung im Code des Makros (Makroeditor) kann nach Bestätigung der Erfolgsmeldung automatisch der Ausgabeordner geöffnet werden. Bearbeite dazu den Quellcode des Formulars formletter2pdf_form und ersetze ab Zeile 489 den Block
Else
If Counter > 1 Then
MsgBox Counter & " form letters exported successfully!", vbOKOnly + vbInformation
Else
MsgBox Counter & " form letter exported successfully!", vbOKOnly + vbInformation
End If
Unload Me
End If
durch diesen hier
Else
If Counter > 1 Then
MsgBox Counter & " form letters exported successfully!", vbOKOnly + vbInformation
Else
MsgBox Counter & " form letter exported successfully!", vbOKOnly + vbInformation
End If
Shell "C:\WINDOWS\explorer.exe """ & Path & "", vbNormalFocus
Unload Me
End If
lg Christian
Kommentar von Christian Bartl am 28.01.2018 um 12:34
Hallo Christian,
erst mal vielen Dank für deine Antwort.
Leider bin ich bei Makros mehr der Copy-Paste-Typ ... ohne den Inhalt wirklich zu verstehen. Die Änderung, die ich mit deinem Input vorgenommen habe, funktioniert daher leider nicht. Vielleicht kannst du dir den Ausschnitt nochmal ansehen und mir kurz Feedback geben, wie ich es tatsächlich schreiben müsste:
' create bulkletter and export as pdf
With ActiveDocument.MailMerge
.DataSource.ActiveRecord = 1
Do
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = .ActiveRecord
.LastRecord = .ActiveRecord
sBrief = Path & .DataFields("ID").Value & "(" & FileName & ")" & ".docx"
End With
.Execute Pause:=False
If .DataSource.DataFields("ID").Value > "" Then
ActiveDocument.SaveAs FileName:=sBrief
End If
ActiveDocument.Close False
If .DataSource.ActiveRecord < .DataSource.RecordCount Then
.DataSource.ActiveRecord = wdNextRecord
Else
Exit Do
End If
Loop
End With
Bei deinen geschweiften Klammern und den Prozentzeichen sagt das Makro, dass das ungültige Zeichen wären.
Kommentar von Kathy am 29.01.2018 um 10:06
Hallo Kathy,
du warst schon in der richtigen Code-Datei, hast aber die falschen Zeilen erwischt. Es gibt ziemlich am Ende der Datei einen Abschnitt der mit dem folgenden grünen Kommentar gekennzeichnet ist:
'
' show result and error messages and unhide word application
'
Dort suchst du nach der einleitenden Zeile "ErrorHandling:" am Ende des eingerückten Teils nach dem noch einmal zusätzlich eingerückten Abschnitt der nur mit dem Stichwort "Else" beginnt (und mit "End If" endet) und wie wie folgt lautet:
Else
If Counter > 1 Then
MsgBox Counter & " form letters exported successfully!", vbOKOnly + vbInformation
Else
MsgBox Counter & " form letter exported successfully!", vbOKOnly + vbInformation
End If
Unload Me
End If
... und ersetzt genau diese 8 Zeilen durch die folgenden:
Else
If Counter > 1 Then
MsgBox Counter & " form letters exported successfully!", vbOKOnly + vbInformation
Else
MsgBox Counter & " form letter exported successfully!", vbOKOnly + vbInformation
End If
Shell "C:\WINDOWS\explorer.exe """ & Path & "", vbNormalFocus
Unload Me
End If
lg Christian
Kommentar von Christian Bartl am 31.01.2018 um 20:01
Die Qualität eingefügter Bilder ist in den PDF-Dateien ziemlich mies.
Kann man da irgendwo dran drehen?
Kommentar von vaube am 18.01.2018 um 14:23
Hallo Vaube,
im Quellcode ist eine alternative Version zum Export der PDF-Dateien integriert, die auch die Qualität der PDFs erhöht. Eventuell hilft das in deinem Fall weiter.
Dazu musst du im Makro Editor den Quellcode des Formulars "formletter2pdf_form" bearbeiten und die Zeile 436 auskommentieren und die Zeile darunter aktivieren:
'ActiveDocument.SaveAs Filename:=Targetfile & "pdf", FileFormat:=wdFormatPDF
' alternative command to export document as pdf, with the possibility to set different export options
ActiveDocument.ExportAsFixedFormat OutputFileName:=Targetfile & "pdf", ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:=wdExportAllDocument, Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, CreateBookmarks:=wdExportCreateWordBookmarks, DocStructureTags:=True, BitmapMissingFonts:=True, UseISO19005_1:=False
lg Christian
Kommentar von Christian Bartl am 28.01.2018 um 11:55
Hallo,
sehr tolles Tool. Hat mir sehr geholfen.
Besteht auch bereits die Möglichkeit, die pdfs als "geschütze" Versionen (Kopier-/ Bearbeitungsschutz) zu bekommen!?
Besten Dank.
Robert
Kommentar von Robert am 09.02.2018 um 15:27
Hallo Robert,
die PDF-Engine von Word unterstützt diese Anforderung meines Wissens zur Zeit leider nicht. Es kann alternativ ein Kennwortschutz für das Öffnen des Dokuments gesetzt werden. Dazu müsste der Code des Makros leicht angepasst werden - eine entsprechende Code-Zeile als Beispiel für die Konfiguration der PDF-Ausgabe ist bereits im Code vorhanden.
lg Christian
Kommentar von Christian Bartl am 10.02.2018 um 08:34
Hallo,
vielen Dank für den tollen Service. Ich würde gerne die Dokumente als Word-Vorlage speichern, also als "dotx". Nun habe ich versucht im Code das einzufügen und die folgenden Zeilen hinzugefügt:
- Me.filetype_other_select.AddItem ("Word Template (.dotx)")
- ElseIf TmpFiletype = "Word Template (.dotx)" Then
Me.filetype_other.Value = 1
Me.filetype_other_select.Value = "Word Template (.dotx)"
- ElseIf Filetype = "Word Template(.dotx)" Then
ActiveDocument.SaveAs Filename:=Targetfile & "dotx", FileFormat:=wdFormatTemplate
Irgendetwas ist aber falsch, denn es kommen immer nur PDFs raus. Könnten Sie mir da einen Hinweis geben, wie ich das bewerkstelligen könnte?
Gruß Jakob
Kommentar von Jakob am 26.02.2018 um 12:32
Hallo Jakob,
du hast bereits an den richtigen Stellen angesetzt, aber dabei einen kleinen Tippfehler eingebaut.
In der letzten If-Abfrage fehlt das Leerzeichen zwischen "Word Template" und "(.dotx)". Du musst sicher gehen, dass die Bezeichnung der Auswahloption in allen drei Fällen immer exakt gleich lautet "Word Template (.dotx)", dann sollte es klappen.
lg Christian
Kommentar von Christian Bartl am 04.03.2018 um 15:00
Hallo zusammen!
Erst einmal - grandioses Tool, genau das, was ich gesucht habe. Zumindest, wenn es funktionieren würde. ;) Ich nutze Office 2016 für Mac und bekomme beim Ausführen immer wieder die gleiche Fehlermeldung: "A folder with the given name already exists at the storage location. Please provide another folder name or change the storage location." Egal, welchen Speicherort ich wähle und wie ich den Ordner benenne, der Fehler bleibt der gleiche. Was kann ich tun, um das zu beheben? :)
Vielen Dank für die Arbeit!!
Allerbeste Grüße,
Dominik
Kommentar von Dominik am 28.02.2018 um 16:09
Hallo Dominik,
es hat sich bei Microsoft einiges im Hintergrund von Word for Mac geändert. Ich habe eben eine neue Version online gestellt, damit sollte es wieder funktionieren.
lg Christian
Kommentar von Christian Bartl am 04.03.2018 um 14:56
Hallo!
Leider funktioniert das Tool auf meinem MAC gar nicht.
das Makro "formletter2pdf_form" kann ich nur importieren wenn man den Unterstrich weg lässt.
Dann in Visual Basic die Zeile "formletter2pdf_form.Show"
geändert in "formletter2pdfform.Show"
Nun konnte ich zumindest das Makro in meinem Dokument ausführen.
Nur leider komme ich den Fehlercode Unknown Error: 424 - Please try to run formletter2pdf again.
Was mache ich falsch_
Kommentar von Stefan am 22.03.2018 um 14:07
Hallo Stefan,
ich habe die Integration des Makros eben noch einmal in der aktuellsten Version von Office 365 getestet und bei mir hat es auf 2 Wegen funktioniert:
1. Weg: Öffnen des Markroeditors und importieren der Source-Dateien - hier hat die Schreibweise keine Rolle gespielt.
2. Weg: Kopieren von einem Dokument zum Anderen über den Punkt "Organisieren" im Dialog Makros - In diesem Fall hat Office for Mac anscheinend einen Bug, denn es wird die Makro-Komponente "formletter2pdf_form" immer automatisch in einen wirren Namen umbenannt. Sobald ich diese in der Zieldatei aber wieder auf den Ursprungsnamen zurück umbennene klappt das Ausführen des Makros.
Auch mir fällt das immer wieder auf, das Word for Mac in Bezug auf die Handhabung von Markros leider noch nicht ganz so ausgereift ist wie die Windows-Variante.
lg Christian
Kommentar von Christian Bartl am 22.03.2018 um 18:57
Glück auf!
Das Tool ist wirklich praktisch und die Erklärung dazu hat selbst mir als Informatiklegasteniker vollkommen ausgereicht.
Das Programm funktioniert sehr gut bei meinem Word 2010, aber etwas ist merkwürdig:
Wenn ich meinen dreiseitigen Serienbrief als viele PdFs exportiere, dann wird eine vierte, leere Seite hinzugefügt, die in der Word Vorschau der Ergebnisse nicht da ist. Es befindet sich unter meiner letzten Zeile kein Absatz oder Leerzeichen oder so, welches für eine neue Seite sorgen könnte.
Woran kann das liegen und wie kann ich das ändern?
Kommentar von Herbert am 12.04.2018 um 17:54
Hallo Herbert,
dieses Verhalten beobachte ich bei der PDF-Exportfunktion von Word (die auch von formletter2pdf genutzt wird) immer wieder einmal. Eine pauschale Aussage welche Maßnahmen Abhilfe schaffen und welche nicht gibt es leider nicht. Oft ist es der Inhalt der Fußzeile, ein zu geringer Seitenrand oder einfach eine Tabelle oder ähnliches mit dem die letzte Seite knapp vor Seitenende abgeschlossen wird. Probier doch einmal die "Füllung" der letzten Seite zu reduzieren - also mehr Abstand zum unteren Seitenrand herzustellen. Als letzter Ausweg kann auch das Neuanlegen des Word-Dokuments helfen.
lg Christian
Kommentar von Christian Bartl am 12.04.2018 um 20:43
Hallo,
zuerst einmal danke für deine Arbeit, das Makro hat mir schon viel Zeit gespart.
Ich hab deine Version ein bisschen angepasst, sodass der Tab-Index eine leichte Bedienung des Dialogs via Tastatur ermöglicht. Nun würde ich das gern mit anderen teilen und wollte wissen, ob du vor hast, deine Sourcen auf Github zu veröffentlichen? Auf diese Weise könnte ich dann einen PullRequest machen und die Änderung würden direkt wieder zur Quelle gelangen.
Es würde mich freuen.
Beste Grüße
Robin
PS: Außerdem hab ich noch eine in Deutsch übersetzte Version erstellt.
Kommentar von Robin am 22.04.2018 um 16:36
Hallo Robin,
ein öffentliches Code-Repository gibt es zur Zeit nicht - ist mit Word-Files leider auch ein wenig unpraktisch. Du kannst aber gerne Eines anlegen, deine Adaptieruntgen publizieren und den Link darauf hier als Kommentar veröffentlichen.
lg Christian
Kommentar von Christian Bartl am 23.04.2018 um 21:17
Hallo Christian,
dein Makro würde mir sehr gut helfen, nur leider scheint es nicht zu funktionieren. Ich benutze MS Word 2016 auf Windows 10.
Wenn ich den Serienbrief speichern möchte, werden nicht mehrere Dateien erstellt. Es zeigt mir immer nur an, dass 1 Datei gespeichert wurde. Aber selbst das stimmt nicht, im Zielordner ist gar keine Datei. Wenn ich die Briefe per Word erstellen lasse, ist alles normal, d.h. ich bekomme 150 Seiten desselben Dokuments mit unterschiedlichen Daten.
Hast du eine Idee, wie es funktionieren könnte?
Viele Grüße
Jakob
Kommentar von Jakob am 06.05.2018 um 02:50
Hallo Jakob,
führst du formletter2pdf vor dem "Fertigstellen und zusammenführen" des Dokuments aus - nur dann klappt die Erstellung von einzelnen PDFs. Achte auch darauf im "file name pattern" eindeutige Dateinamen zu erstellen, sonst überschreiben sich die Dateien gegenseitig.
lg Christian
Kommentar von Christian Bartl am 05.06.2018 um 20:23
Hallo Christian,
ich habe es jetzt hinbekommen. Und zwar hatte ich als Datenquelle eine Excel-Tabelle, in der deutlich mehr Daten (Spalten) waren, die aber für meinen Serienbrief gar nicht relevant sind. Ich habe jetzt alle nicht relevanten Spalten herausgelöscht. Und siehe da: Es geht. Vielleicht könntest du direkt in deiner Anleitung erwähnen, dass im Datensatz keine zusätzlichen Daten/Spalten sein dürfen.
Vielen Dank für das Makro! Jetzt spart es mir immens Zeit.
Viele Grüße
Jakob
Kommentar von Jakob am 29.06.2018 um 18:06
Hallo Christian,
vielen, vielen Dank für dieses tolle Tool. Das erhöht unsere Effizienz erheblich! Ich habe lediglich ein Problem in den Metadaten der damit generierten PDFs. Das Feld "Titel" in den Dokumenteigenschaften enthält nicht den Dokumentnamen, wie bei manuell gespeicherten / gedruckten PDFs, sondern einen sehr kryptischen, langen Inhalt: "<seite pag=1 lose=0><kustode lief=83 mon=Dezember jahr=2004><TITEL>GO". Ich kann leider nicht nachvollziehen, wo dieser herkommt und wo ich ihn entsprechend ändern kann. Kannst Du hier weiterhelfen? Vielen herzlichen Dank auch dafür!
Viele Grüße
Diana
Kommentar von Diana am 14.05.2018 um 10:31
Hallo Diana,
ich habe das eben noch einmal mit der aktuellsten Office-Version probiert, konnte das beschriebene Verhalten allerdings nicht nachstellen. Konntest du das Problem mittlerweile lösen?
lg Christian
Kommentar von Christian Bartl am 05.06.2018 um 20:20
Hallo Christian,
Ich würde gerne dein Tool benutzen, bin mir aber gerade nicht sicher, wie ich das für meine Zwecke nutzen kann :)
Bitte entschuldige, wenn dir diese Anfrage dämlich erscheint...
Es gibt eine Excel Liste mit Daten, welche in einen Serienbrief mit einem festgelegten Dateinamen automatisch abgespeichert werden sollen. Wenn ich jetzt nicht ganz falsch bin, bezieht sich dein Makro aber auf Access, oder? Kann ich das irgendwie anpassen?
Vielen Dank schon im Voraus!
Liebe Grüße
Kommentar von Jessica am 24.05.2018 um 12:12
Hallo Jessica,
das Makro setzt auf der Serienbrieffunktion (und damit auch der Auswahl an Empfängern) von Word auf, d.h. alle Datenquellen die du dort auswählen kannst - und damit auch Excel - funktionieren.
lg Christian
Kommentar von Christian Bartl am 28.05.2018 um 09:28
Lieber Christian,
das Tool verspricht die Lösung meiner Probleme zu sein! Ich habe Word für Mac Version 16.14.1 2018.
Ist aber noch nicht kompartibel oder?
Ich muß über 100 Verträge (Serienbrief) ausgeben (Dateiname Adressat und Projektnummer) und dann als Pdf in ein ein Programm wie Adobe Sign für digitale Unterschriften ziehen.
Gibt es da eine Lösung?
Liebe Grüße Stephi
Kommentar von Stephi am 18.06.2018 um 09:07
Hallo Stephi,
ich habe formletter2pdf gerade noch mal auf der aktuellsten Version von Office for Mac getestet und ein paar kleine Verbesserungen vorgenommen - aktuelle Version steht zum Downlaod bereit. Office for Mac erlaubt kein Setzen mehr eines Default-Zielordners - daher muss dieser jetzt immer manuell ausgewählt werden. Außerdem ist mir aufgefallen das Word nach dem Klick auf Ja im Bestätigen-Dialog wie eingefroren wirkt, die PDFs werden aber trotzdem im Hintergrund erstellt. Bei deinen 100 Verträgen wird dieser Zustand dann schon mal gerne ein paar Minuten zu beobachten sein.
lg Christian
Kommentar von Christian Bartl am 19.06.2018 um 18:40
Hallo Christian,
wir wollen Serienbriefe mit Zertifikaten erstellen, die wir anschließend in PDF-Dateien umwandeln. Meine Frage wäre, ob ihre Makro dazu im Stande ist, dieses Dokument so Umzuwandeln, dass das Zertifikat auch nach der Umwandlung (in der PDF-Datei) noch vorhanden ist.
Vielen Dank schon mal im Voraus,
LG. Justin
Kommentar von Justin am 27.06.2018 um 14:57
Hallo Justin,
formletter2pdf erzeugt für jedes Dokument ein neues eigenständiges Word-Dokument und nutzt dann die integrierte PDF-Exportfunktion von Word. Die Signatur wird sicher auf Dokumentenebene angewandt, daher vermute ich, dass diese nicht erhalten bleibt (hab es aber selbst nicht getestet). Am besten einfach einmal mit der im Download-Paket enthaltenen Testdatei ausprobieren.
lg Christian
Kommentar von Christian Bartl am 27.06.2018 um 15:30
Hallo,
das Makro hört sich wirklich vielversprechend an und scheint genau das zu tun was ich aktuell brauche - ich habe jedoch ein Problem bei der Implementierung. Wenn ich nach der Anleitung vorgehe und das Makro in meine Normalvorlage importiere, meinen Serienbrief öffne und das Makro (entweder über Ansicht Makros oder das zugewiesene Schnellzugriffssymbol) kommt eine Fehlermeldung: "Fehler beim Kompillieren Mehrdeutiger Name: StorageFileType" Diese Meldung erscheint in der 2.9 und 2.8er Version des Makros.
Was kann ich tun? Beste Grüße Frank
Kommentar von Frank am 30.06.2018 um 11:41
Hallo Frank,
die Fehlermeldung besagt, dass die Variable doppelt gesetzt wird und damit ein Code-Teil doppelt vorhanden sein muss. Kann es sein, dass das Makro sowohl im Dokument als auch in der Normal.dot vorhanden ist? Wenn ja, lösche eines davon.
lg Christian
Kommentar von Christian Bartl am 10.07.2018 um 11:00
enabled comments
Kommentar von Tester am 24.07.2018 um 16:49
Das ist mein Kommentar als Antwort.
Kommentar von Christian Bartl am 24.07.2018 um 16:52
Hallo Christian,
vielen Dank für diesen nützlichen Helfer. Leider erhalte ich beim Ausführen des Makros in einer anderen als der Testdatei folgende Fehlermeldung:
"Fehler beim Kompilieren: Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft."
Woran kann es liegen und wie läasst es sich beheben?
Vielen Dank im Voraus.
Julia
Kommentar von Julia am 30.07.2018 um 12:26
Hallo Julia,
das klingt so, als ob ein Teil des Makros (Quellcodes) fehlt. Hast du auch wirklich beide Teile des Makros formletter2pdf und formletter2pdf_form in dein neues Dokument kopiert (siehe dazu auch die Anleitung)?
lg Christian
Kommentar von Christian Bartl am 31.07.2018 um 14:55
Ich freue mich sehr über das Tool.
ich habe schon einige Anpassungen am Makro vorgenommen (Standardformat -ordner Dateiname)
Was mir jedoch noch nicht gelungen ist:
Die Fehlerbehandlung bei existierenden Ordner.
Ich möchte PDF-Dateien immer in Monatsordner ablegen.
(Format yyyy-mm funktioniert) Aber wenn der Ordner bereits erstellt wurde, bricht das Makro ab. Es soll aber weitermachen und weitere Dateien in dem Ordner zusätzlich ablegen. (Überspringen / überschreiben des Ordners - nicht der Dateien)
Wie kann man das realisieren?
Danke und Grüße
Kay
Kommentar von Kay am 13.08.2018 um 16:15
Hallo Kay,
das mit dem Fehlerhandling ist eine heikle Sache und daher aktuell auf dem einfachsten Wege mit der "Verweigerung des Dienstes" bei einem bereits bestehenden Ordner realisiert - um eben nicht versehentlich Dateien zu überschreiben.
Wenn du sicher bist, dass deine Dateinamen immer eindeutig sind, kannst du auf eigenes Risiko das Fehlerhandling für den Root-Ordner deaktivieren in dem du im Quellcode von formletter2pdf_form die Zeilen 310 und 311 auskommentierst oder entfernst:
'MsgBox "A folder with the given name already exists at the storage location. Please provide another folder name or change the storage location.", vbOKOnly + vbCritical
'Exit Sub
lg Christian
Kommentar von Christian Bartl am 21.08.2018 um 14:23
Hi Christian,
das Tool macht seine Arbeit genau wie es soll! Echt super :)
Ich hätte da nur mal eine kleine Frage... Habe ich die Möglichkeit irgendwie einzustellen, dass wenn mehrere Dateien mit gleichem Namen abgespeichert werden sollen (was ja nicht möglich ist) einfach eine "Erweiterung" des Dateinamens erfolgt? Also Wenn es bereits eine Datei gibt die "Dateiname" heißt die nächste einfach mit "Dateiname_1" erstellt wird?
Ich hoffe es ist verständlich was ich meine :D
Liebe Grüße und vielen Dank Vorab
Jessi
Kommentar von Jessica am 23.08.2018 um 12:24
Hallo Jessi,
ich verstehe was du erreichen möchtest, leider lässt sich das mit der aktuellen Implementierung des Makros nicht so einfach realisieren, da das Fehlerhandling für einzelne Dateien komplett fehlt - aktuell werden vorhandene Dateien einfach überschrieben.
Am einfachsten ist wohl du fügst in das "file name pattern" den Counter ein - so stellst du sicher, dass jeder Dateiname einzigartig ist.
lg Christian
Kommentar von Christian Bartl am 23.08.2018 um 18:08
schade, aber da lässt sich bestimmt noch eine Lösung finden :)
Mir ist jetzt allerdings noch etwas aufgefallen... Ich habe in der Excel Liste ein Datum, welches ich im Serienbrief aufführen möchte. Aus irgend einem Grund wird aber das Format von TT.MM.JJJJ (in Excel) auf MM/TT/JJJJ (in Word) geändert. Kann ich das irgendwie korrigieren?
Kommentar von Jessica am 24.08.2018 um 16:45
Hallo Jessica,
dazu musst du vermutlich das eingefügte Seriendruckfeld bearbeiten und die Formatierung anpassen.
lg Christian
Kommentar von Christian Bartl am 26.08.2018 um 16:18
schon wieder ich :D
ich habe eine Möglichkeit gefunden meinen Dateien einen eindeutigen namen zu geben, wirkt aber leider sehr zusammengebastelt.
lässt sich diese abfrage hier evtl. für das makro anpassen?
If Dir(pfad & Dname & ".pdf") = "" Then
MsgBox "Datei " & Dname & " wird neu angelegt!"
Else
Dname = Dname & "_1"
MsgBox "Datei " & Dname & " ist vorhanden! Speicherung erfolgt unter dem Namen " & Dname + "_1"
End If
Kommentar von Jessica am 15.10.2018 um 12:46
Hallo Jessica,
Danke für deinen Codebeitrag, ich werde diesen nur in die aktuelle Version nicht mehr einfließen lassen, da ich gerade dabei bin eine komplett neugestaltete Version des Makros zu entwickeln.
lg Christian
Kommentar von Christian Bartl am 15.10.2018 um 19:42
Hallo zusammen,
gibt es mittels formletter2pdf die Möglichkeit nur einzelne Datensätze des Serienbriefs als PDF zu speichern?
Mein Problem: Ich pflege eine Datenbank mit Mitglieder eines Vereins. Einmal im Jahr erhalten ein paar (ca. 100 von 3000 Mitgliedern) eine Urkunde für besondere Leistungen. Ich möchte mittels der formletter2pdf Funktion also nur diese 100 PDF Dateien erzeugen und nicht die angesprochenen 3000. Geht das?
Liebe Grüße :)
Kommentar von Darja am 27.09.2018 um 14:33
Hallo Darja,
formletter2pdf selbst bietet keine Auswahl, orientiert sich aber an den Serienbriefempfängern von Word. Word kann die Serienbriefempfänger mit der Funktion "Serienbriefempfänger bearbeiten" durch Auswahl der gewünschten Empfänger über die angezeigten Checkboxen einschränken.
Viel einfacher wird es bei der Menge an Einträgen allerdings sein, einfach die Empfängerliste (Excel) zu kopieren und dort alle nicht erwünschten Empfänger zu löschen und diese gekürzte Liste dann als Ausgangsbasis zu nutzen.
lg Christian
Kommentar von Christian Bartl am 28.09.2018 um 08:12
Hallo Christian,
ich bin nach langem Suchen auf dein Makro gestoßen. Die Installation hat alles soweit getan. Ich muss dazu sagen dass ich kein Profi bei der Nutzung von Word bin. Auch die Erstellung der Einzeldateie funktionniert. Leider aber nur, wenn counter verwendet werden. Wenn ich unter file name pattern die counter rausnehme und dafür in eine geschweifte Klammer eine entsprechende Exel- Zellenbezeichnung eintrage, in dieser sind die von mir gewünschten Dateinamen enthalten (z.B. "lfd_nr"), erhalte ich nur eine Datei, die immer wieder überschrieben wird. Der Name der erstellten Datei ist dabei {lfd_nr}. Ich habe schon viel probiert, komme aber leider nicht weiter. Ich den du kannst mir weiterhelfen. Wie bereits gesagt ich bin kein Office-Profi. Ich verwende Office 365.
Viele Grüße
Uwe
Kommentar von Uwe am 14.10.2018 um 18:23
Hallo Uwe,
eigentlich sollte es mit deinem Ansatz klappen. Beachte bitte unbedingt die korrekte Groß- und Kleinschreibung des Feldnamens in den geschwungenen Klammern. Du kannst dir über das Makro "Click to list ..." auch alle Feldnamen als Marker auflisten lassen - prüfe doch dort einmal, ob Word das Feld eventuell anders schreibt - gerade Leerzeichen oder Sonderzeichen werden oft in den Feldnamen gefiltert. Kannst du das Feld als "Seriendruckfeld einfügen", denn nur dann ist es auch für das Makro verfügbar?
lg Christian
Kommentar von Christian Bartl am 15.10.2018 um 19:48
Hallo Chrsitian,
danke für die schnelle Hilfe. Nach einigem Nachjustieren (Makro war nicht richtig in die Vorlage eingebunden und Groß- und Kleinschreibung nicht beachtet) funktioniert alles super. Danke für die Arbeit. Einen Wunsch hätte ich noch, besonders wenn man Exel als Datenquelle nutzt wäre es super wenn man den Beginndatensatz und Enddatensatz festlegen könnte.
Viele Grüße
Uwe
Kommentar von Uwe am 17.10.2018 um 12:30
Hallo Uwe,
danke für deinen Input, ich nehme dies als Optimierungsvorschlag für die neue Version auf.
In der Zwischenzeit kannst du dich mit der in Word integrierten Funktion zum Einschränken der Empfänger durch Setzen der Checkboxen im Dialog der Funktion "Empfängerliste bearbeiten" behelfen.
lg Christian
Kommentar von Christian Bartl am 17.10.2018 um 19:48
Hallo Christian
Zuerst gratuliere ich zu diesem tollen Werkzeug! Genau dieses Tool suchte ich.
Nun habe ich aber ein Phänomen, das ich mir nicht erklären kann.
Ich arbeite mit den neusten Microsoft Office 365 Produkten auf einem 64-Bit Windows 10 Pro Betriebssystem.
Mein Word-Dokument (Serienbrief) hat 2 Seiten und eine Excel-Datei mit den Adressdaten meiner Brief-Empfänger. Alles funktioniert bestens, mit Ausnahme von: alle erstellten Dateien (egal ob .doc oder .pdf) haben 3 Seiten! Die 3. Seite ist leer, aber existiert leider.
Wenn ich aus dem Serienbrief-Dokument "Speichern unter" wähle, hat die erstellte Datei die gewünschten 2 Seiten (egal ob .doc oder .pdf). Genau das möchte ich mit dem Tool erreichen und nicht über 100 Mal "Speichern unter" anwählen müssen.
Woran könnte es liegen? Ich habe verschiedene Szenarien durchgetestet. Auch wenn in der Excel-Datei nur 1 Adresse vorhanden ist, hat die erstellte Datei 3 Seiten.
Dasselbe Phänomen habe ich bei einer anderen Serienbrief-Datei, die nur 1 Seite hat. Die generierten Dateien haben alle 2 Seiten (die 2. Seite ist leer).
Mit lieben Grüssen
Bernhard
Kommentar von Bernhard am 22.10.2018 um 23:09
Hallo Bernhard,
das Problem tritt leider immer wieder auf und ist eine Eigenheit von Word bei der Erstellung von PDFs. Siehe dazu den neu angelegten FAQ-Eintrag "Meine generierten PDFs enthalten am Ende eine zusätzliche leere Seite, die in der Vorlage nicht enthalten ist. Woran liegt das?"
lg Christian
Kommentar von Christian Bartl am 25.10.2018 um 20:31
Hallo,
aktualisiert das Programm Textmarken und Inhaltsverzeichnisse für jede PDF? Bei den selbstgeschriebenen/gebastelten Makros erhalte ich immer "Textmarke nicht definiert" in den fertigen PDFs.
Grüße Christoph
Kommentar von Christoph am 31.10.2018 um 15:03
Hallo Christoph,
Textmarken werden von formletter2pdf aktuell leider nicht in PDFs hinausgespielt, da pro PDF eine neue Word-Datei angelegt wird und dabei die Textmarken verloren gehen.
Generell werden dynamische Datenfelder (und damit auch Inhaltsverzeichnisse) automatisch noch einmal im neuen Einzeldokument aktualisiert bevor dieses als PDF gespeichert wird.
lg Christian
Kommentar von Christian Bartl am 01.11.2018 um 18:14
Hallo,
das Tool funktioniert bei mir wirklich super. Ich habe nur eine kleine Änderung die ich leider selbst nicht lösen kann.
Man muss in dem Tool ja einen Ordner neu anlegen lassen, ich möchte aber gerne das alle Dateien immer im save to: Ordner gespeichert werden.
Ist das so möglich?
Gruß
Torsten
Kommentar von Torsten P. am 02.11.2018 um 15:11
Hallo Torsten,
das mit dem Pflichtordner ist aktuell aufgrund der Tatsache, dass bereits existierende Dateien ohne Nachfrage einfach überschrieben werden, so implementiert.
Wenn du sicherstellen kannst, dass Dateien immer eindeutige Namen haben oder im Zweifelsfall kein Problem damit hast existierende Dateien zu überschreiben, kannst du den Code anpassen, um das gewünschte Verhalten zu erreichen. Ich habe dir dazu einen alten Kommentar herausgesucht. Eventuell stimmen die Zeilennummern des zu löschenden Codes nicht mehr ganz.
lg Christian
-------------
Das mit dem Fehlerhandling ist eine heikle Sache und daher aktuell auf dem einfachsten Wege mit der "Verweigerung des Dienstes" bei einem bereits bestehenden Ordner realisiert - um eben nicht versehentlich Dateien zu überschreiben.
Wenn du sicher bist, dass deine Dateinamen immer eindeutig sind, kannst du auf eigenes Risiko das Fehlerhandling für den Root-Ordner deaktivieren in dem du im Quellcode von formletter2pdf_form die Zeilen 310 und 311 auskommentierst oder entfernst:
'MsgBox "A folder with the given name already exists at the storage location. Please provide another folder name or change the storage location.", vbOKOnly + vbCritical
'Exit Sub
Kommentar von Christian Bartl am 08.11.2018 um 19:40
Hallo Christian!
Auch ich bin sehr begeistert, tolles Tool! Habs gerne honoriert ;-) Könnte das Tool ggf. erweitert werden durch einen ergänzenden Merge-Befehl, so dass zunächst (wie bisher) das individuelle PDF erstellt wird und dann diese Datei mit einer vorgegebenen weiteren PDF-Datei verbunden wird?
LG
Greg
Kommentar von Greg am 20.11.2018 um 19:27
Hallo Greg,
freut mich zu hören, dass Dir das Tool gefällt. formletter2pdf nutzt die integrierte PDF-Export-Funktion von Word, weitere Manipulationen der erstellten PDFs (wie z.B. das von Dir erwähnte Zusammenführen mit bestehenden Dateien) sind daher nicht möglich.
lg Christian
Kommentar von Christian Bartl am 22.11.2018 um 22:15
Hi, vermutlich liegt es daran das ich ein absoluter Neuling bin, aber warum wird das Makro denn nur in deiner Datei angezeigt? und nicht auch in anderen?
Kommentar von Sebastian am 22.11.2018 um 04:00
Hallo Sebastian,
formletter2pdf ist ein Makro und Makros sind immer an eine einzelne Word-Datei gebunden. Du hast jetzt zwei Möglichkeiten: Entweder kopierst du das Makro in dein Dokument (dann ist es nur in diesem verfügbar) oder in die zentrale Word-Vorlage Normal.dot (damit wird das Makro für alle Word-Dokumente auf deinem PC nutzbar). Siehe dazu den Abschnitt "Anleitung" -> "formletter2pdf-Makro einrichten" auf der Website.
lg Christian
Kommentar von Christian Bartl am 22.11.2018 um 22:18
Hallo,
danke für das Tool ... die PDF-Generierung über Word 2016 auf meinem Win10-System klappt gut. Wenn man das PDF anschließend öffnet, steht als "Dateiname" im Reiter des Acrobar Reader "formletter2pdf". Ist das Teil der Werbemaßnahme oder kann man das irgendwo einstellen? Ich hätte dort den tatsächlichen Dateinamen des PDF erwartet.
Herzliche Grüße,
Marco
Kommentar von Marco am 30.12.2018 um 11:06
Hallo Marco,
der Titel wird aus dem gleichnamigen Feld der Dokumenteneigenschaften des Word-Dokuments übernommen und kann natürlich jederzeit nach belieben verändert werden.
lg Christian
Kommentar von Christian Bartl am 30.12.2018 um 23:14
Ich habe zwei Serienbriefe mit dem Makro bearbeiten können. Bei dem einen funktioniert es sehr gut. Leider habe ich bei dem zweiten, wo auch mehr Seriendruckfelder enthalten sind, Probleme bei der Konvertierung. Was mache ich hier falsch?
Kommentar von Sven-Patrick am 07.01.2019 um 00:41
Hallo Sven-Patrick,
welche Probleme treten denn genau auf? Bekommst du eine Fehlermeldung? Hast du schon ausprobiert, ob die Erstellung des Serienbriefs mit Word selbst funktioniert oder es dort auch Probleme gibt?
lg Christian
Kommentar von Christian Bartl am 07.01.2019 um 20:31
Hallo Christian,
die Erstellung des Serienbriefs mit Word funktioniert einwandfrei. Eine Fehlermeldung kommt nicht. Lediglich die Meldung "1 form letter exported successfully". Ich bestätige dann mit "ja" und der Zielordner wird geöffnet. Hier befinden sich dann leider keine einzelnen Dateien. Wie oben schon beschrieben, wird auch nur eine Datei als exportiert angezeigt obwohl ich es schon mit einer und mehreren versucht habe.
LG Sven
Kommentar von Sven-Patrick am 08.01.2019 um 14:39
Hallo, irgendwie stehe ich auf dem Schlauch: Das Makro meldet nur einen erfolgreichen Export, obwohl in der Tabelle viele Empfänger drin sind. Im Export Ordner ist dann aber nicht mal einer drin. Eigentlich möchte ich alle Empfänger exportieren. Habe ich einen Schritt der Anleitung falsch gemacht? Ich wäre sehr dankbar für Hilfestellungen.
Kommentar von Andreas am 07.01.2019 um 00:51
Hallo Christian,
folgendes Problem:
Das Makro generiert keine pdf Dateien. Als Meldung kommt, dass ein pdf generiert worden wäre. Der Ausgabeordner ist aber leer.
Ich habe die Lösung gefunden:
Die Spaltenüberschriften in der .xlsx Datei dürfen nicht zu lang sein. :) pffffff
Vielen Dank für die tolle Arbeit!
Kommentar von Andreas am 07.01.2019 um 09:15
Hallo Andreas,
danke für das Posten der gefundenen Lösung, vielleicht hilft die Info dem einen oder anderen mit demselben Problem weiter.
Ich nehme mir das Thema der maximalen Dateilängenprüfung in jedem Fall für die nächste Version mit.
lg Christian
Kommentar von Christian Bartl am 07.01.2019 um 20:34
Mit der Lösung hat sich mein Problem auch erledigt.
Vielen Dank
Kommentar von Sven-Patrick am 08.01.2019 um 14:46
Moin!
Bin sehr zufrieden mit dem Programm und nutze es schon länger und öfter.
Heute bin ich fast verzweifelt.
Eine sehr große und komplexe Steuerdatei hat plötzlich nicht mehr funktioniert. Ich habe einige Stunden geforscht und experimentiert.
Immer wieder bekam ich die Meldung 1 file sei erstellt. Es sollten aber 20 sein, und es wurde nur der Ordner erstellt, aber kein file.
Des Rätsels Lösung:
Ich hatte eine neue Spalte eingefügt, die Spaltenbezeichnung kopiert und ergänzt. Sie war schlichtweg zu lang geworden :-(
Erst mal gefunden, war das Problem leicht behoben ….
Falls es jemanden so ergeht. Das könnte ein Lösungsansatz sein ;-)
Die max. Länge schein bei 40 Zeichen zu sein.
Kommentar von Andreas am 11.01.2019 um 15:54
Moin, ich habe eine Frage in die Runde der Serienbriefexperten:
Wenn man einen Serienbrief mit Daten aus Excel über DDE füttert muss man seit einiger Zeit immer vorher manuell die Excel Datei öffnen. Das ging früher von alleine auch unter 365. Kennt einer eine einfache Abhilfe?
Kommentar von Andreas am 11.01.2019 um 15:56
Hallo,
ich hatte in der Vergangenheit formletter2pdf auf meinem alten Rechner (Windows 10, Office 2010) schon genutzt. Nach einem Rechnerwechsel (Windows 10, Office 2010, unverändert) bekomme ich es nicht "installiert". Office wurde neu installiert. Früher konnte ich unter "Optionen", "Add-Ins",... Formletter2pdf als Makro auswählen. Das ist nun nicht mehr möglich und bei neuen Dokumenten steht das Makro nicht mehr als Icon zur Verfügung. Leider weiß ich mir keinen Rat mehr, was ich falsch mache oder an meinem System Probleme bereitet. Gibt es da Ideen?
Mfg
Andreas
Kommentar von Andreas am 24.01.2019 um 11:49
Hallo Andreas,
Word speichert Makros entweder im jeweiligen Word-Dokument oder in der Dateivorlage "Normal.dot" die global für jede Nutzung von Microsoft Word angewandt wird. So wie es scheint, hast du das Makro in "Normal.dot" abgelegt, die natürlich durch die Neuinstallation deines Rechners zurückgesetzt wurde. Insofern musst du das Makro entsprechend der Anleitung einfach nur neu "installieren". Ist das Makro bereits vorhanden und dir geht es nur darum, dass Icon wieder einzurichten, kannst du das in Slide 5 unter "formletter2pdf-Makro einrichten" im Abschnitt "Anleitung" nachlesen.
lg Christian
Kommentar von Christian Bartl am 24.01.2019 um 18:22
Hallo,
das Makro funktioniert bei mir mit WIN10 und neuestem Office365 hervorragend.
Mein Problem: Ich speichere die Dokumente regelmäßig im *.docx- und - zu Archivzwecken - im *.pdf-Format, da in Einzelfällen an einzelnen Dokumenten aus einer Serie noch individuelle Änderungen/Ergänzungen vorgenommen werden müssen. Ich starte das Makro also 2x hintereinander mit den angepassten Einstellungen für das Dateiformat. Alle anderen Einstellungen bleiben unverändert.
Gibt es nun eine Möglichkeit, das Makro so anzupassen, dass in e i n e m Durchlauf jedes einzelne Dokument, sowohl als .docx und als .pdf-Datei abgespeichert wird?
Herzliche Grüße
Rolf
Kommentar von Rolf am 10.02.2019 um 14:20
Hallo Rolf,
ja das geht, wenn du dich darüber traust den Code des Makros etwas zu verändern. Dazu im Code des Formulars formletter2pdf_form im Abschnitt unter dem Kommentar " ' save the single document" einfach im "Else"-Zweig
ActiveDocument.SaveAs Filename:=Targetfile & "docx", FileFormat:=wdFormatDocumentDefault
unter der Zeile
ActiveDocument.SaveAs Filename:=Targetfile & "pdf", FileFormat:=wdFormatPDF
einfügen.
Dann werden - insofern im Makro der Dateityp PDF ausgewählt ist - sowohl PDF als auch Word-Datei erzeugt.
lg Christian
Kommentar von Christian Bartl am 11.02.2019 um 21:12
Hallo,
danke für das tolle Tool.
Ich habe das aktuelle Office 365 im Einsatz und bin auf ein Problem gestossen, wenn man in einem Serienbrief die Funktion "Datensatz überspringen wenn..." wählt. Dabei stürtzt das Makro mit dem Fehler "Unknown Error:5631" ab.
Ich verwende die Funktion, um nur an Personen mit einem bestimmten Merkmal in einem Feld zu schreiben.
Es wäre schön, wenn das Makro diese Funktion unterstützen würde.
Danke.
Kommentar von Jürgen am 16.02.2019 um 23:47
Hallo Jürgen,
danke für den Hinweis, diesen Fall kann formletter2pdf aktuell wirklich noch nicht handeln.
Ich habe versucht auf die schnelle dafür eine Möglichkeit zu finden, übersprungene oder ausgelassene Datensätze zu identifizieren, konnte aber keine Lösung finden. Die für das Makro notwendigen VBA-Funktionen spiegeln diese Information meines Erachtens nicht wieder. Ich nehme es allerdings als Punkt für die nächste Version mit auf.
lg Christian
Kommentar von Christian Bartl am 17.02.2019 um 11:50
Danke erst mal das du dieses Macro zur Verfuegung stellst.
Ich nutzte Microsoft office 365 und nachdem office "ausgeblendet" wurde kommt es nicht wieder und es werden keine pdf's oder word files erstellt. Woran koennte das liegen? Danke
Kommentar von MJ am 20.02.2019 um 16:00
Hallo MJ,
ich hab das Makro eben noch mal mit der aktuellsten Word Version getestet und konnte keine Probleme feststellen. Du nutzt das Makro unter Windows? Funktioniert die Testdatei bei dir? Eventuell hat das "filename pattern" einen Fehler. Falls du das angepasst hast - versuche darin doch nur einmal den Counter zu setzen.
lg Christian
Kommentar von Christian Bartl am 21.02.2019 um 19:52
Hallo Christian,
bin voll begeistert von deinem Makro. Ich möchte nun den Default Ordnername aus dem jeweiligen Dateinamen ohne der Endung (z.B: Rechnung.doc => Rechnung; oder Serienbrief.doc => Serienbrief) erstellen. Habe es probiert mit DefaultFoldername = "{%filename%}_{%timestamp%}" doch das klappt irgendwie nicht.
Alternativ wäre auch nur die Verwendung eines Ordners ideal, doch mit der Anleitung die mal gepostet wurde " Path.. löschen.. " klappt das nun so nicht mehr. Da ist ja immer die Abfrage da ob der Ordner schon vorhanden.
Kannst du mir hier weiterhelfen? Kenne mich leider auch im VBA so gut aus.
Vielen Dank
Peter
Kommentar von Peter am 03.03.2019 um 21:48
Hallo Peter,
die dynamische Erstellung von Ordnern bzw. Ordnernamen funktioniert mit dem Makro in der aktuellen Art der Umsetzung leider nicht und lässt sich auch nicht so einfach und vor allem zuverlässig "nachrüsten". Ich habe diese Anforder aber bereits als Funktion für eine komplett überarbeitete Version des Makros aufgenommen - das wird aber sicher noch einige Zeit auf sich warten lassen.
lg Christian
Kommentar von Christian Bartl am 30.03.2019 um 07:51
Hallo Christian!
leider funktioniert das Makro nicht mit einer Regel "Überspringe Datensatz wenn..."
Gibt es ne Möglichkeit das zu Fixen?
Kommentar von Deniz am 18.04.2019 um 08:45
Hallo Deniz,
da hast du recht, das ist ein Thema, dass durch das Makro nicht abgedeckt ist und ich bisher auch noch keine Idee hatte, wie ich diesen Filter im jetzigen Aufbau des Makros berücksichtigen könnte.
Also nein, leider keine Lösung von meiner Seite.
Lg Christian
Kommentar von Christian Bartl am 18.04.2019 um 10:06
Hallo,
ddie Lösung ist wirklich toll. Nutze sie für Archivzwecke meiner wichtigsten Dokumente. Funktioniert sicher und zuverlässig.
Eine Sache würde ich gut finden. Es wäre schön wenn die Dateien erstellt werden zumindest einen Zähler zu haben, der den Fortschritt anzeigt. Nach dem Word komplett ausgeblendet wird hat man ansonsten keine Rückmeldung während des Erstellungsprozesses.
Ist so etwas machbar?
LG
Jörg
Kommentar von Jörg am 27.04.2019 um 07:21
Hallo Jörg,
vielen Dank für deine Anregung. Der Zähler steht auch schon länger auf meiner Wunschliste und wird in eine überarbeitete Version des Makros miteinfließen.
lg Christian
Kommentar von Christian Bartl am 29.04.2019 um 19:00
Hallo,
ein super Makro sehr hilfeich! Besteht die Möglichkeit irgendwie bestimmte Datensätze zu exportieren? Sprich Datensatz X-Y, sodass er nicht immer die kompletten Datensätze nimmt?
Gruß,
Leon
Kommentar von Leon am 13.05.2019 um 16:27
Hallo Leon,
das kann das Makro selbst aktuell noch nicht, aber du kannst in Word mit der Funktion "Empfängerliste bearbeiten" einzelne Empfänger ausnehmen, für diese erzeugt formletter2pdf dann auch keine PDFs.
lg Christian
Kommentar von Christian Bartl am 15.05.2019 um 21:58
Hallo,
Ich finde das Makro hervorragend. Eine Sache fände ich noch großartig:
Gibt es die Möglichkeit, dass das Makro bei gleichlautenden Dateinamen die Serienbriefe in ein Dokument schreibt und nicht immer die vorhandene Datei überschreibt?
MfG
Daniel
Kommentar von Daniel am 20.05.2019 um 10:22
Hallo Daniel,
wenn du eine gesammelte Datei mit allen Serienbriefen haben möchtest kannst du in Word einfach auf "Fertigstellen und zusammenführen" gehen und das daraus resultierende Word-Dokument als PDF exportieren.
lg Christian
Kommentar von Christian Bartl am 21.05.2019 um 12:56
Hallo,
da habe ich mich möglicherweise ungenau ausgedrückt. :-)
Angenommen ich habe 100 Serienbriefe und würde diese gerne durch eine Variable mit 30 Ausprägungen gruppieren, indem diese Variable den Dateinamen beeinflusst. Als Ergebnis hätte ich dann idealerweise 30 PDFs und innerhalb des jeweiligen PDFs wären alle Serienbriefe enthalten, die eine der 30 Ausprägungen der Variable enthält. Also nicht ein großes PDF aber eben auch nicht 100 Einzel PDFs.
Bislang kann das Makro - soweit ich es verstehe - zwar 30 Dateien erzeugen, es ist aber darin immer nur der letzte Serienbrief für die jeweilige Ausprägung drin.
Ich hoffe ich konnte verdeutlichen, was ich meine...
Danke
Daniel
Kommentar von Daniel am 22.05.2019 um 09:22
Hallo Daniel,
deine Anforderungen sind klar beschrieben und das lässt sich in der Tat realisieren, allerdings nicht ohne größere Umbauten.
Als Ansatz für dich:
In "formletter2pdf_form" wird über den folgenden Code immer ein Dokument mit genau einem Serienbrief erstellt:
' create single files
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = .ActiveRecord
.LastRecord = .ActiveRecord
End With
Wenn du hier den Code so modifizierst, dass der erste und letzte Eintrag immer X Einträge auseinander liegt (Vorausgesetzt, deine Empfängerliste ist bereits nach deinen Gruppierungen sortiert), hättest du dein gewünschtes Verhalten, dass pro X Einträge eine gemeinsame Datei erstellt wird.
lg Christian
Kommentar von Christian Bartl am 22.05.2019 um 17:07
Danke, das wird mir in meinem Büroalltag echt weiterhelfen!
Herzlichen Gruß
Ann
Kommentar von Ann am 21.05.2019 um 12:05
Hallo,
ich habe alles nach Anleitung eingestellt. Mit der "Probedatei" funktioniert es auch einwandfrei. Ich habe allerdings das Problem, dass wenn ich mit einem eigenen Serienbrief das Verfahren durchführe, der Zielordner leer ist. Also der Vorgang wird abgewickelt, jedoch kommen am Ende keine einzelnen Dateien heraus. Woran könnte das liegen und wie kann ich das Ganze beheben?
Vielen Dank
Philipp
Kommentar von Philipp am 06.06.2019 um 10:42
Hallo Philipp,
wird gar keine Datei oder nur eine einzelne Datei gespeichert?
Sollte nur eine einzelne Datei mit allen Serienbriefen gespeichert werden, dann stelle doch bitte sicher, dass du das Makro vor der Aktion "Fertig stellen und zusammenführen" ausführst. D.h. Du musst das Makro in der Originaldatei mit deiner Original-Empfängerliste ausführen und nicht im bereits fertigen Serienbriefdokument.
lg Christian
Kommentar von Christian Bartl am 07.06.2019 um 16:24
Hallo Christian,
Dein Makro sieht toll aus und ich bin sicher, dass es auch auf meinem privaten Rechner funktioniert. Ich habe jedoch das Problem, dass auf meinem Firmen-Rechner die Ausführung von Makros gesperrt ist. Weißt du, ob es eine Möglichkeit gibt, die erzeugten Serienbrief Dokumente jeweils als einzelne pdf-Dateien auszugeben, ohne dabei auf die Makro-Funktion zurückzugreifen. Mit anderne Worten kennst Du eine Möglichkeit die Funktionen Deines Makros ohne Makro automatisch auszuführen?
Meine Lösung, die beruflichen Dateien mit nahch Hause zunehmen und dort durch das Marko laufen zu lassen kommt bei meinem Arbeitgeber nicht so gut an.
Vielen Dank für Deinen Lösungsvorschlag schon mal im Vorraus.
Martin
Kommentar von Martin am 19.06.2019 um 17:19
Hallo Martin,
leider kann Word das nicht von selbst, daher auch dieses Makro. Als Workaround fällt mir da nur ein, den Serienbrief mittels Word zu erzeugen, alle Briefe als ein PDF abspeichern und mit einem PDF-Editor dann in einzelne Dateien aufzuteilen.
lg Christian
Kommentar von Christian Bartl am 26.06.2019 um 23:16
Ich freue mich sehr, dass ich formletter2pdf heute entdeckt habe.
Es läuft super und hat mir gerade viel Arbeit erspart.
Tausend Dank und beste Grüße
Markus
Kommentar von Markus am 05.07.2019 um 16:10
Hallo Christian,
gibt es eine Möglichkeit die erstellten einzelnen PDF-Dateien autom. als Anlage mit Outlook zu versenden (möglichst OHNE bei jedem Datensatz diese blöde Sicherheitsabfrage zu beantworten)?
Variante 1: sofort nach erstellen jeder einzelnen PDF-Datei je eine EMail versenden.
Variante 2: zunächst alle PDF-Dateien erstellen und erst in einem zweiten Schritt (ggf. mit eigener Steuerdatei) die EMails mit ihrem individuellen PDF-Anhang versenden.
(Office 2016, Windows 10, Exchange-Server)
LG
J.
Kommentar von J. am 17.09.2019 um 21:52
Hallo J.,
formletter2pdf kann aktuell keine generierten PDF-Dateien per Mail versenden und ich persönlich kenne leider auch keinen alternativen Weg dies auf einfachem Wege zu bewerkstelligen.
lg Christian
Kommentar von Christian Bartl am 21.09.2019 um 15:12
Hallo Christian,
jetzt nochmals auf diesem Wege ...
Das Makro ist super. Vielen Dank erstmal für die Bereitstellung!
Bei mir existiert noch eine kleine Hürde für das "gerettete" Wochenende:
Mein Word-Dokument enthält ein Inhaltsverzeichnis. Egal wie ich es anstelle - im PDF kommt statt den Seitenzahlen überall "Fehler - Textmarke nicht definiert".
Ich mehrere Stunden investiert und experimentiert:
- insbesondere alle »WdExportCreateBookmarks«-Optionen
- alle sonstigen Formen / Formate ...
Habe auch den Befehl ActiveDocument.ExportAsFixedFormat ... in ein extra Makro gegeben und aufgerufen: da klappt alles problemlos!!!
Nur innerhalb des formletter2pdf bekomm ich es nicht hin.
Hast Du eine Idee? Ist der Effekt schon mal aufgetreten?
Falls Du Gelegenheit hast da mal draufzuschauen - vielen Dank!
Markus
Kommentar von Markus am 20.10.2019 um 10:59
Hallo Markus,
nein das Problem ist mir bisher noch nicht untergekommen. In formletter2pdf löst die Zeile "ActiveDocument.Fields.Update" in formletter2pdf_form ein Update aller dynamischen Felder im neuen Einzeldokument aus. Versuchsweise kannst du einmal probieren diese Zeile auszukommentieren, um zu sehen, ob dann das Verzeichnis intakt bleibt.
lg Christian
Kommentar von Christian Bartl am 29.10.2019 um 21:14
Ich scheitere beim Installieren von formletter2pdf weil ich die bei Schritt 1 erforderliche "mdb"-Datei nicht finde. Was muss ich tun?
Kommentar von Reto am 15.11.2019 um 08:55
Hallo Reto,
zum Testen ist im Download eine mdb-Datei mit dabei.
Wichtig ist, dass du eine Empfängerliste erstellst oder hast. Du benötigst die in der Testdatei verlangte mdb-Datei also nicht unbedingt und kannst deine Empfängerliste alternativ direkt in Word oder in einer Excel-Datei pflegen.
lg Christian
Kommentar von Christian Bartl am 19.11.2019 um 23:14
Hallo, ich habe Ihr Makro auch zum Laufen bekommen. Ich bin begeistert!
Hin und wieder öffnet sich der "Debugger" und zeigt in folgenden Zeilen das " formletter2pdf_form.Show" gelb markiert an:
If MailMergeState.State = wdMainAndDataSource Then
formletter2pdf_form.Show
Else
Ein Speichern oder Drucken ist dann nicht mehr möglich. Ein Neustart des PCs hilft. Wie kann ich das Problem dauerhaft beheben?
Kommentar von Kai am 25.11.2019 um 09:40
Hallo Kai,
nachdem sich der Debugger nur hin und wieder öffnet, kann ich mir das verhalten nicht ganz erklären. Eventuell einmal probieren das Makro zu entfernen und neu hinzuzufügen.
lg Christian
Kommentar von Christian Bartl am 07.12.2019 um 18:19
Hallo,
bei uns wird der Briefkopf in der Kopfzeile verworfen. Nur wenn wir den Serienbrief aus einer .doc Datei erzeugen, funktioniert es.
Haben Sie eine Idee, an was das liegen könnte?
Gruß
Chris
Kommentar von Chris am 06.12.2019 um 10:23
Hallo Chris,
kannst du mir etwas mehr Details leifern? Was genau meinst du mit "nur wenn der Serienbrief aus einer .doc-Datei erzeugt wird"? In welchem Fall funktioniert es denn nicht?
lg Christian
Kommentar von Christian Bartl am 07.12.2019 um 18:13
Hallo Christian,
vielen Dank für die Bereitstellung Deines Tools,
es hat mir schon sehr geholfen.
Jetzt aber habe ich einen Serienbrief entworfen, der als Serienbrief per se auch funktioniert, dh, ich bekomme bei Ausführung der normalen Serienbrief-Funktion auch ein großes Word-Dokument mit allen richtigen Seiten. Wenn ich aber das formletter2pdf-Makro laufen lasse, bekomme ich zwar dieselbe Anzahl der Seiten, aber auf den einzelnen pdf-Seiten steht immer nur der jeweils letzte Datensatz von dieser Seite.
Meine Word-Serienbrief-Vorlage enthält einige "if" und "nextif". Ich glaube, das hängt damit zusammen.
Wie kann ich das Problem lösen?
Vielen Dank vorab!
Kommentar von Bettina am 11.12.2019 um 22:17
Hallo Bettina,
formletter2pdf erzeugt die einzelnen PDFs in dem es jeweils mit einem Datensatz aus der Empfängerliste eine neue Datei erstellt und diese dann abspeichert, insofern kann es durchaus sein, dass dynamische Dokumente mit if und nextif nicht funktionieren.
Hast du formletter2pdf auch vor dem Zusammenführen des Serienbriefs in ein Dokument ausgeführt? - denn nur dann kann das Makro auch einzelne Dokumente speichern.
lg Christian
Kommentar von Christian Bartl am 14.12.2019 um 21:52
kann ich den timestamp auch formatieren, so dass "nur "YYDDMM_" im Dateinamen erscheint
Kommentar von Michael am 24.12.2019 um 12:25
Hallo Micheal,
nein, das ist aktuell leider nicht möglich. Der Timestamp ist fix vorgegeben.
lg Christian
Kommentar von Christian Bartl am 29.12.2019 um 19:12
Ich möchte die erzeugten pdf Dateien gleich schützen. Kann das Makro so geändert werden, dass Acrobat oder Foxit das generieren über nimmt. Wenn ja was muß sich machen?
Danke und Gruß
Uwe
Kommentar von Uwe am 02.02.2020 um 13:04
Hallo Uwe,
das Makro nutzt immer die in Word eingebaute PDF-Engine und das kann auch nicht geändert werden. Ich würde dir empfehlen die Batch-Funktion von Acrobat zu nutzen und damit dann nachträglich den Schutz über alle von formletter2pdf generierten Dateien zu legen.
lg Christian
Kommentar von Christian Bartl am 05.02.2020 um 21:43
Hallo Christian,
es ist ein tolle Sache die du da machst.
Ich probiere gerade Bilder in die Fußzeile Einzusetzten mit INCLUDEPICTURE... Leider besteht da das Problem das nach dem zusammenführen die Bilder angeklickt und mit F9 aktualsiert werden müssen. Damit klappt das VBScript natürlich nicht mehr. Ist dir das schonmal so untergekommen bzw. wäre das Problem zu lösen?
LG Niels
Kommentar von Niels am 03.02.2020 um 10:04
Hallo Niels,
formletter2pdf hat bereits einen Code eingebaut, der dynamische Felder automatisch aktualisiert. Ich kann mich erinnern, dass diese Frage schon einmal in einem der Kommentare gestellt wurde und hatte auch damals in Zusammenhang mit INCLUDEPICTURE leider keine Lösung parat.
lg Christian
Kommentar von Christian Bartl am 05.02.2020 um 21:48
Hallo Christian,
vielen Dank für das Tool. Die Installation vom Makros hat super funktioniert, nur habe ich ein Problem beim Ausdruck des Serienbriefes als PDF. Nach dem Druck verschwinden die Logos aus der Kopf- und Fußzeile. Gibt es dazu eine Lösung?
VG und Danke im Voraus
Kommentar von Ludmila am 10.02.2020 um 15:42
Hallo Ludmila,
das ist ein bekanntes Problem von Word mit der integrierten PDF-Export-Funktion. Die einzige Lösung die ich bisher gefunden habe, ist die Kopf- und Fußzeile leicht zu verändern (z.B. die Größe des Logos zu verändern, Seitenränder vergrößern) und so lange zu probieren bis es klappt. Testen kannst du es am einfachsten in dem du vor dem Erstellen des Serienbriefes, das Dokument als PDF exportierst.
lg Christian
Kommentar von Christian Bartl am 11.02.2020 um 22:11
Hallo Christian, dein Tool ist wirklich super! Hat mir schon viel Arbeit erspart.
Ich hatte derzeit jedoch ein Problem, dass die Erstellung der Dateien nicht mehr funktionierte. Es wurde lediglich angezeigt, dass 1 Dokument erfolgreich erstellt wurde. Jedoch passierte nichts.
Nach langem Rumprobieren habe ich festgestellt, dass das Problem aus den Seriendruckfeldern der Excel-Datei hervorging. Es dürfen maximal 39 Zeichen für ein Seriendruckfeld in der verwendeten Exceldatei und dem entsprechenden Arbeitsblatt verwendet werden. Ab 40 Zeichen geht es nicht mehr und der beschriebene Fehler tritt ein. Es ist auch zu beachten, dass es unerheblich ist, ob das Seriendruckfeld tatsächlich im Word-Dokument ausgewählt und verwendet wird.
Das Makro scheint auch bei Verwendung einiger Add-Ins nicht zu funktionieren.
Vielleicht haben ja einige auch dieses Problem gehabt und ich konnte helfen, sofern das nicht nur ein Problem bei mir ist. :D
Vielleicht gibts dazu ja auch eine Lösung.
LG Chris
Kommentar von Chris am 20.02.2020 um 12:18
Hallo Chris,
vielen Dank für das Teilen deiner Erkenntnisse, auf diese Einschränkung bin ich bisher selbst noch nicht gestoßen und ich werde das Tool bei Gelegenheit um die entsprechenden Checks erweitern.
lg Christian
Kommentar von Christian Bartl am 22.02.2020 um 20:30
Vielen Dank Christian für das Tool!
Ich habe das gleiche Problem wie Chris. Meine Access-Datei hat mehre als 40 Zeichen.
Viele Grüße
Angela
Kommentar von Angela am 01.04.2020 um 09:16
Hallo Christian
Wow - das ist ein Supermakro, welches mir künftig sehr viel Zeit sparen wird.
Jedoch verzweifle ich momentan an einer - für geübte Anwender - wohl eher Kleinigkeit:
Ich möchte gerne den Dateinamen aus verschiedenen Spalten erstellen lassen. Das funktioniert z.B. mit den Überschriften "OE", "Nachname", "Vorname" soweit prima:
sBrief = Path & .DataFields("OE").Value & "_" & .DataFields("Nachname").Value & "_" & .DataFields("Vorname").Value & ".pdf"
End With
.Execute Pause:=False
If .DataSource.DataFields("Nachname").Value > "" Then
ActiveDocument.SaveAs FileName:=sBrief, FileFormat:=wdFormatPDF
End If
Ersetze ich jedoch die Spalte "Vorname" mit der Spalte "Geburtsdatum", erhalte ich die Fehlermeldung:
Der ausgewählte Speicherort ist ungültig.
sBrief = Path & .DataFields("OE").Value & "_" & .DataFields("Nachname").Value & "_" & .DataFields("Geburtsdatum").Value & ".pdf"
End With
.Execute Pause:=False
If .DataSource.DataFields("Nachname").Value > "" Then
ActiveDocument.SaveAs FileName:=sBrief, FileFormat:=wdFormatPDF
End If
ActiveDocument.Close False
Ich bin dir für eine Hilfestellung sehr dankbar.
Liebe Grüsse
Martin
Kommentar von Martin am 20.04.2020 um 11:21
Hallo Martin,
du kannst den Dateinamen mit den entsprechenden Variablen der Feldnamen auch im Feld "file name pattern" definieren, ohne in den Code eingreifen zu müssen.
Ich vermute aufgrund der Fehlermeldung, dass der Code einen ungültigen Dateinamen (zu lange, Sonderzeichen, o.ä.) erzeugt und daher das speichern nicht funktioniert.
lg Christian
Kommentar von Christian Bartl am 20.04.2020 um 18:53
Hallo Christian
Hui, da versage ich prompt auf der ganzen Linie...
Wo finde ich das Feld "file Name pattern"?
Sorry meine Rückfrage.
Liebe Grüsse
Martin
"du kannst den Dateinamen mit den entsprechenden Variablen der Feldnamen auch im Feld "file name pattern" definieren, ohne in den Code eingreifen zu müssen."
Kommentar von Martin am 21.04.2020 um 06:54
Hallo Martin,
deine Frage verstehe ich leider nicht ganz. Du nutzt das Makro formletter2pdf, dass auf dieser Website angeboten wird? Ganz am Anfang der Website findest du einen Screenshot der grafischen Oberfläche in dem auch das Eingabefeld "file name pattern" ersichtlich ist.
lg Christian
Kommentar von Christian Bartl am 21.04.2020 um 11:56
Hallo Christian
Erstmal danke für deine rasche Reaktion und Geduld.
Ich habe den Code von dieser Site (https://blog.bartlweb.net/2012/08/word-serienbrief-als-einzelne-dateien-speichern/) kopiert und in meiner Vorlage eingefügt. Dort habe ich dann auch direkt versucht den Code entsprechend anzupassen.
Jetzt mit der korrekten Installation finde ich das Eingabefeld "file name pattern" - der Dateiname wird wie gewünscht erstellt.
Prima Sache!
Liebe Grüsse
Martin
Kommentar von Martin am 21.04.2020 um 14:33
Erstmal: Geiles Tool!!!
Eines meiner Datenfelder enthält ein Datum, welches in den Dateinamen integriert werden soll. Funktioniert auch soweit, allerdings ist die Darstellung etwas unglücklich. Das Datum wird im Format m.dd.yyyy dargestellt.
(20.5.2020 wird als 5202020 ausgegeben).
Kann man das innerhalb des Makros formatieren ?
Kommentar von Andreas am 08.05.2020 um 09:06
Hallo Andreas,
das Tool nutzt die Werte der Datenfelder, ohne diese zu manipulieren, insofern kannst du über das Makro die Formatierung ohne die Programmierung eines Sonderfalls leider nicht steuern.
lg Christian
Kommentar von Christian Bartl am 15.05.2020 um 07:59
Habe mir das Makro mit den vorgegebenen Testen angeschaut. Ob es aber der Praxis genügt kann nicht ausreichend getestet werden, da das Makro nicht vollständig heruntergeladen wird. Was vermuten lässt, hier wird unter dem Vorspielen einer freiwilligen Spendenbereitschaft an den Ersteller des Makros Interesse geweckt, um dann abzukassieren.
Kommentar von Dietmar am 17.05.2020 um 20:54
Hallo Dietmar,
ich freue mich immer über Anregungen und Kritik und versuche bei einer genauen Beschreibung des Problems auch gerne in meiner Freizeit (formletter2pdf ist ein Hobby-Projekt) zu helfen.
Ich habe das Makro eben noch einmal selbst von der Website heruntergeladen und in der letzten Version von Office 365 getestet und konnte keine Probleme ausmachen. Darf ich dich daher bitten, zu erörtern, was genau du mit nicht vollständig meinst bzw. kannst du das fehlerhafte Verhalten beschreiben?
Ich möchte, da du es erwähnt hast, noch einmal hervorheben, dass formletter2pdf als Open Source Software angeboten wird und ich diese Software damit jedermann sowohl für die Verwendung als auch für die eigenständige Weiterentwicklung kostenlos und ohne Verpflichtung zu einer Spende zum Download bereit stelle.
lg Christian
Kommentar von Christian Bartl am 18.05.2020 um 20:33
Hallo, wie kann man den Vorgang "PDFs erstellen" stoppen? Ich habe einen Fehler festgestellt und würde die Erstellung gerne stoppen. Zumal er auch die leeren Zeilen aus meiner Datenquelle (Excel) mitnimmt und ich jetzt 999 Seiten in einem PDF habe. Also er schreibt 999 PDFs mit jeweils 999 Seiten :-(
Vielen Dank und liebe Grüße
Leonie
Kommentar von Leonie am 23.05.2020 um 16:07
Hallo Leonie,
das Erstellen der PDFs lässt sich aktuell leider nicht abbrechen und der Durchgang muss daher einfach abgewartet werden (Du kannst Word über den Taskmanager beenden, wenn du wirklich nicht warten kannst - beachte dabei aber, dass eventuelle Änderungen an der Datei nicht gespeichert werden).
Kleiner Tipp: Du kannst die Empfängerliste über die Funktion "Empfängerliste bearbeiten" im Tab Sendungen von Word vorfiltern - formletter2pdf nutzt dann nur die dort mit einem Haken aktivierten Datensätze für die Erstellung - um deine leeren Zeilen in der Empfängerliste herauszufiltern.
lg Christian
Kommentar von Christian Bartl am 23.05.2020 um 21:27
Hallo Christian,
danke, ein tolles Tools.
Eine Frage:
Ich verwende in dem Serienbrief auch ein Feld mit Datum.
Das Datum erscheint immer im amerikanischen Format 4/1/2020. Ich würde das Datum aber gerne im deutschen Format verwenden: 1.4.2020.
Wie kann ich das Format umstellen?
Danke
Gruß
Steffen
Kommentar von Steffen am 01.06.2020 um 21:39
Hallo Steffen,
formletter2pdf verändert keine der Inhalte des Serienbriefs. Insofern musst du zuerst in den Eigenschaften des dynamischen Feldes (Rechtsklick -> Feld bearbeiten ...) sicherstellen, dass das Datum korrekt formatiert wird.
lg Christian
Kommentar von Christian Bartl am 02.06.2020 um 12:13
Hallo Christian,
Danke für das tolle Makro! Das hilfe mir wirklich sehr weiter!
In meinem Serienbrief (ein Report) habe ich ein "Skip if" Feld drin. Leider bricht dein Makro immer ab, wenn Skip if das erste Mal Valide ist. Wenn ich Skip if rausnehme, funktioniert das Makro einwandfrei.
Hast Du das Problem auch schon gehabt und vielleicht eine Idee, wie man das lösen kann?
Danke Dir für deine Antwort.
Grüße aus Hessen
Kevin
Kommentar von Kevin am 16.06.2020 um 10:43
Hallo Kevin,
leider habe ich dafür keine Lösung, da ich das Makro nicht auf dynamische Inhalte im Serienbrief ausgelegt habe.
Hier eine Hintergrundinfo für die Lösungssuche: formletter2pdf nimmt jeden einzelnen Empfänger und erzeugt damit eine eigene Word-Datei die dann als PDF gesichert und wieder geschlossen wird, bevor es mit dem nächsten Empfänger weiter geht.
lg Christian
Kommentar von Christian Bartl am 17.06.2020 um 19:48
Ich habe das Makro, wie in der Anweisung beschrieben in die Normal.dot geladen, geseichert - Word neu gestartet.
Trotzdem kommt die folgende Fehlermeldung (im Debugger von VBA):
Fehler beim Kompilieren:
Proejkt oder Bibliothek nicht gefunden.
Was muss ich tun? Welcher Verweis muss für die Lauffähigkeit der Makros ebenfalls geladen werden? Wenn dieser Gedanke richtig ist, wie lade ich diesen Verweis per VBA bei jedem Makrostart - dann klappt es auch nach einem nächsten Update-"segen".. :-(
Word 2013 Windows10 - Patchstand Juni 2020.
Vielen Dank im Voraus.
P.S.: Kann es sein, das ein Wordupdate oder ein Windowsupdate das Word wieder mal verschlimmbessert hat und das Makro deshalb nicht läuft?
Kommentar von kleiner am 14.07.2020 um 11:33
Hallo,
ich muss gestehen, dass ich die Kombination aus dem alten Word 2013 und Windows 10 nicht mehr getestet habe und kann daher einen generellen Fehler nicht ausschließen. Hat das Makro denn in der im Download enthaltenen Testdatei funktioniert?
"Projekt oder Bibliothek nicht gefunden" deutet aber eher darauf hin, dass nicht alle Teile des Makros korrekt kopiert worden sind. Probiere doch bitte noch einmal das Makro zu löschen und neu zu kopieren.
lg Christian
Kommentar von Christian Bartl am 13.08.2020 um 19:30
Hallo
erst einmal vielen Dank für das tolle Makro - das spart mir sehr viel Zeit.
Gibt es noch eine Möglichkeit die erstellten PDFs / Dokumente gleichzeitig an eine personifizierte E-Mail Adresse zu versenden?
Liebe Grüsse
Alex
Kommentar von Alex am 30.07.2020 um 17:58
Hallo Alex,
leider nein, diese Funktion müsste formletter2pdf erst dazu programmiert werden. Word kann zwar Serienbriefe als E-Mails verschicken, aber das sind dann eben keine PDF-Dateien.
lg Christian
Kommentar von Christian Bartl am 13.08.2020 um 19:15
Ich habe das Problem, dass über das Formletter Macro trotzdem immer nur ein (der erste) Tabelleneintrag exportiert wird und nicht alle nachfolgenden. Wenn ich die Wordeigene "Zusammenführen" Funktion nutze werden alle Tabelleneinträge exportiert. Woran könnte das liegen?
Kommentar von Alwin am 31.07.2020 um 15:38
Ich hatte ein identisches Problem mit meiner Tabelle die ich über die OneDrive Cloud eingebunden habe. Die Lösung lagen alle direkt in der Exceldatei:
-versteckte Spalten sichtbar machen.
-Leere Spalten löschen statt in Word zu filtern.
-Evtl. vorhandene Filterfunktion in Excel deaktivieren.
Kommentar von Alwin am 07.08.2020 um 09:20
Hallo Alwin,
nur um sicherzugehen: formletter2pdf muss vor der Word-eigenen-Funktion "Zusammenführen in eine Datei" ausgeführt werden, nur dann kann es pro Empfänger auch eine PDF-Datei erstellen.
Ansonsten kann es auch sein, dass dein "file name pattern" keinen eindeutigen Dateinamen pro Datei erstellt, weil du z.B. keinen Counter eingefügt hast. Dann erstellt formletter2pdf lauter gleichnamige Dateien, die sich gegenseitig überschreiben, und damit ist am Ende nur eine Datei im Zielordner sichtbar.
lg Christian
Kommentar von Christian Bartl am 13.08.2020 um 19:24
Hallo vielen Dank für die sehr hilfreiche Arbeit.
Ich bemerke nur, dass alle 3 minuten eine PDF erstellt wird, Serienbrief mit Excel Datendatei und 300 Zeilen.
An was kann das liegen?
Vieln Dank Gruß André
Kommentar von André am 04.08.2020 um 22:10
Hallo André,
der PDF-Export von Word, den sich formletter2pdf zunutze macht, ist leider nicht sehr flott. Wenn die Word-Datei sehr groß ist oder viele Bilder hat, kann das durchaus der Fall sein. Da hilft leider nur Geduld.
lg Christian
Kommentar von Christian Bartl am 13.08.2020 um 19:18
Hallo und auch erstmal danke für das cool Makro - wenn es doch nur funktionieren würde. :-)
Leider gibt es selbst mit den Probedateien folgendes Problem - soweit kann ich alles starten und auswählen und der Prozess läuft auch erstmal durch. Doch leider ist im Zielordner gar keine Datei (also nicht mal eine). Woran kann das liegen?
Hatte auch schon ewig mit Deinem alten Makro und anderen Makros probiert - doch irgendwie scheint er mit dem Speichern der Dateien ein Problem zu haben. Ich nutze "Office Word 2016 Plus".
Wäre super dankbar für jede Hilfe.
Danke & Grüße
Rob
Kommentar von Rob am 25.08.2020 um 08:48
Hallo Rob,
Office 2016 habe ich leider gerade nicht zum Testen zu Verfügung und eine Ferndiagnose ist immer schwierig. Kannst du bitte einmal probieren, ob die Erstellung der Dateien klappt, wenn du als Zielordner direkt einen Ordner auf der ersten Ebene des Dateisystems (z.B. C:/Test) nutzt?
lg Christian
Kommentar von Christian Bartl am 26.08.2020 um 21:28
Hallo Christian,
ich weiß nicht ob mein letzter Kommentar angekommen ist - daher noch mal.
Erst auch von mir ein riesen Dankeschön für dieses tolle Tool - ich brauchte es sooo dringend!!! :-) DANKE!!
Mein Problem aktuell ist jedoch noch, dass das Skript durchläuft, der Zielordner wird angelegt, doch bleibt leer (nicht mal einen Datei wird abgelegt). Ich habe alles mögliche bei der Eingabe und auch teilweise schon im Skript getestet, doch leider ohne Erfolg. Nicht mal mit der Beispieldatei funktioniert es.
Ich habe Windows 10 und Word 2016 Plus im Einsatz - kann es daran liegen?
Gibt es ansonsten noch einen Tipp, woran der Fehler liegt? Wäre für jede Hilfe dankbar!!
Danke & viele Grüße
Robert
Kommentar von Robert am 27.08.2020 um 10:59
Hallo Robert,
ich habe dir auf deinen ersten Kommentar schon geantwortet, siehe oben.
Was mir auch noch eingefallen ist, nachdem ich immer wieder von diesem Problem höre, es selbst aber nicht nachstellen kann. Eventuell blockiert ein aktiver Virenschutz das Erstellen von Dateien durch das Makro.
lg Christian
Kommentar von Christian Bartl am 31.08.2020 um 14:31
Hallo Christian
Sehr gutes Tool - vielen Dank. Ich habe es noch etwas angepasst damit individuelle Bilder in die PDF - Dokumente eingebaut werden können (Datenquelle Excel).
Bei einigen Benutzern läuft das Programm fehlerfrei. Bei anderen Benutzern beendet sich das Programm beim Befehl ".Execute Pause:=False" beim ersten Serienbrief. Zum testen habe ich den Befehl "Application.Visible = False" aus kommentiert. Dann hatte ich nach dem Abbruch das Serienbrief - Dokument sowie den ersten Serienbrief sichtbar. Der Code hat sich ohne Fehlermeldung beendet.
Hast Du eine Ahnung was hier für ein Problem vorliegt?
Vielen Dank und Freundliche Grüsse, Roger
Kommentar von Roger am 27.08.2020 um 16:26
Hallo Roger,
einen Kommentar darüber, hat ein Nutzer ein ähnliches Problem - vielleicht helfen dir die Tipps dort weiter. Ich selbst bin leider noch nicht dahinter gekommen, warum es immer weider Nutzer gibt, bei denen sich das Makro ohne Fehlermeldung beendet und kann dir daher leider im Moment nicht weiter helfen.
lg Christian
Kommentar von Christian Bartl am 31.08.2020 um 14:35
Hallo Christian,
ist eine Version für Office for Mac 2019 geplant? Das wäre eine feine Sache!
Beste Grüße
Fabian
Kommentar von Fabian am 31.08.2020 um 15:18
Hallo Fabian,
formletter2pdf ist mit Office 365 und damit auch mit der aktuellsten Standalone-Variante Office 2019 kompatibel. Zumindest ein schneller Test auf meiner Seite hat nichts Gegenteiliges ergeben. Über eine kurze Rückmeldung ob es auch bei dir klappt würde ich mich freuen.
lg Christian
Kommentar von Christian Bartl am 01.09.2020 um 10:51
Haben das Makro formletter2pdf heute zum ersten Mal erfolgreich benutzt: Klappt klasse!
Kommentar von Christian am 07.10.2020 um 18:19
Hallo Christian,
vielen Dank für deinen Einsatz.
Ich bin nicht sicher, ob ich hier richtig bin. Ich habe folgends Problem zu lösen:
1. Ich habe ein PDF Dokument mit 5 Brief Seiten (Serienbrief)
2. Jede Seite hat eine unterschiedliche Empfänger Adresse.
3. Zu jeder Seite (Empfänger) muss ich 10 Beilage Blätter hinzufügen.
4. Am Schluss sollte ich 1 PDF Dokument erhalten mit Empfänger 1 inkl. 10 Beilagen, Empfänger 2 inkl. 10 Beilage, Empfänger 3 inkl. 10 Beilagen, etc.
Ich finde keine Software, die so etwas kann. Kannst du weiterhelfen?
Beste Grüsse
Ernst
Kommentar von Ernst am 28.10.2020 um 14:15
Hallo Ernst,
dein Vorhaben lässt sich mit einem Tool schwer automatisieren. Nachdem es sich nur um 5 Empfänger handelt, würde ich dir denn manuellen Weg mit einem PDF-Editor (z.B. Acrobat Pro) vorschlagen. Damit kannst du Seiten aus einem PDF als einzelne PDF-Dateien speichern und danach mehrere (PDF-)Dateien zu einer gesamten PDF-Dateien zusammen führen.
lg Christian
Kommentar von Christian Bartl am 29.10.2020 um 20:17
Ich bin Microsoft Experte.
Ich hatte formpdf vor 3 Jahren schon mal installiert.
Da ging das damals
Jetzt kommt mit der Version formpdf2.5 bis Version formpdf 2.8 in Word beim Einbinden der Datenbank *.mdb die Fehlermeldung "Datei konnte nicht entsperrt werden"
Kommentar von Ann am 10.11.2020 um 10:43
Hallo Ann,
formletter2pdf als Makro selbst nutzt die Datenbank nicht, diese wird direkt von Word als Quelle für die Empfänger des Serienbriefs eingebunden. Der Fehler ist daher nicht beim Makro, sondern bei Word bzw. der Access-Datenbank zu suchen.
lg Christian
Kommentar von Christian Bartl am 11.11.2020 um 20:44
Danke für die Nachricht.
Da ich Office Experte bin, habe ich die Datei, die man zur Makroinstallation braucht geöffnet und dann das Makro ist der dazugehörigen Normal.dot in meine Normal.dot kopiert und dann diese geänderte Normal.dot bei mir neu mit Word verbunden
Kommentar von ANn am 12.11.2020 um 10:33
Hallo Christian!
Tolles tool, das du hier geschaffen hast. Und dein Beispiel funktioniert bei mir auch tadellos. Wenn es aber darum geht die Macros einzurichten. Schritt 4 deiner Kurzanleitung "formletter2pdf-Makro einrichten" - da streikt mein Word. Es will lediglich formletter2pdf kopieren, nicht aber formletter2pdf_form. Da wundert mich dann auch nicht die Fehlermeldung von Word, wenn ich das Makro starte.. Laufzeitfehler "424".: Objekt erforderlich. Hast Du eine Idee, woran es liegen kann, dass ich formletter2pdf_form nicht kopieren kann/darf? (PS: benutze Microsoft Word (365) für Mac)
Kommentar von Oliver am 09.12.2020 um 07:40
Hallo Oliver,
ich kann mich erinnern, dass Office for Mac hier leider etwas beim Kopieren der Makros patzt. Bei mir ist es so, dass ich unter Entwicklertools -> Makros -> Organisieren beide Teile des Makros kopieren kann, aber formletter2pdf_form nach dem Kopieren im Zieldokument einfach irgendeinen willkürlichen Namen bekommt. Wenn ich dieses Element dann aber mit Umbenennen wieder den Namen "formletter2pdf_form" gebe, dann funktioniert es dennoch.
lg Christian
Kommentar von Christian Bartl am 11.12.2020 um 21:07
Hallo Christian
habe mal das Testszenario installiert. Wenn ich das Macro starte geht das Form auf, dann klicke ich unten auf "Save single files" und schon geht Word komplett zu.
Im Ordner ist dann eine einzige Datei, die aber wie das Template aussieht, also Mergefelder nicht aufgelöst.
Gruss, Jean
Kommentar von Jean am 19.01.2021 um 00:27
Hallo Christian
tolles Tool - nur funktioniert bei mir etwas nicht ...
habe formletter2pdf-2.9.zip entpackt und dann das Word gestartet - nach den üblichen Meldungen und Auswahl der mdb habe ich auf das Icon oben geklickt, das Form geht auf und ich starte die Erstellung wie beschrieben.
Word geht sofort zu und es ist nur eine Datei im Verzeichnis ... habe Word 2016 (aus O365)
An was kann das liegen?
Gruss, Jean
Kommentar von Jean am 22.01.2021 um 13:42
Hallo Jean,
ich habe gerade nur die aktuellste Word 365 Version (entspricht ungefähr Word 2019) auf Windows 10 zum Testen und da kann ich das Problem leider nicht nachvollziehen.
Mir fallen daher nur zwei allgemeine Punkte ein, mit denen ich dir "aus der Ferne" weiterhelfen kann:
- Versuche doch einmal einen anderen Zielpfad, in die du die Dateien speicherst.
- Starte formletter2pdf unbedingt nach der Auswahl der Empfängerliste, bevor du den Schritt "Fertig stellen und zusammenführen" auswählst.
lg Christian
Kommentar von Christian Bartl am 24.01.2021 um 20:09
Hallo Christian
danke für die Antwort - dazu folgende Antworten
1) habe schon einen anderen Pfad als der vorgegebene ausgesucht
2) das Zusammenführen habe ich gar nie ausgeführt, nur jeweils das Makro gestartet
Da ich mich mit VBA ziemlich gut auskenne, habe ich mal in das Makro geschaut. Da fällt mir auf, dass es bei Loop durch die Adressen am Schluss vor "Nextloop:" heisst:
' close the single document
ActiveDocument.Close False
und genau da wird Word geschlossen und Ende ...
Habe das mal auskommentiert, dann werden alle 10 PDF erstellt, jedoch habe ich dann 10 Dokumente "Serienbrief1" bis ...10
Nun auch das kann ich noch fixen:
anstelle des Befehls oben
Documents(1).Close False
dann funktioniert es wunderbar!
Wieso das bei mir so ist .. ???
Gruss, Jean
Kommentar von Jean am 25.01.2021 um 08:05
Hallo,
Habe selbes Verhalten bei MS 365 Enterprise.
Klicke ich den "save single files"-Button, kommt die Warnmeldung und danach nie wieder etwas. Folder wird angelegt, ansonsten nichts.
Da ich in VBA nicht bewandert bin, kann ich leider selbst nichts fixen....
Kommentar von Peter am 09.04.2021 um 14:11
Hallo Peter,
ich bin dem Problem, dass anscheinend ab und an Auftritt leider noch nicht auf die Schliche gekommen.
Nutzt du Word auf Windows oder macOS? Bei macOS könnten es nämliche fehlende Berechtigungen sein.
lg Christian
Kommentar von Christian Bartl am 10.04.2021 um 19:34
Ich nutze es unter Windows.
Kommentar von Peter am 12.04.2021 um 09:13
Hallo Peter,
ich habe eben eine neue Version von formletter2pdf veröffentlicht, die das Problem eventuell behebt. Darf ich dich bitten diese Version zu testen und mir kurz Feedback zu geben.
lg Christian
Kommentar von Christian Bartl am 12.04.2021 um 21:45
Hallo,
Entschuldige die späte Rückmeldung.
Das Verhalten hat sich leider nicht geändert. Verzeichnis wird angelegt, aber sonst nichts - keine Dateien.
Kommentar von Peter am 26.04.2021 um 12:11
Hallo,
im Prinzip tolle Idee, das Makro.
Nach der Installation nach Anleitung, friert allerdings Word komplett ein, nachdem ich eine Exceltabelle als Quelle ausgewählt habe. Ich kann es dann nur noch über den Taskmanager beenden. Ist das Problem bekannt?
Kommentar von Kai am 21.01.2021 um 11:09
Hallo Kai,
das Verarbeiten der Empfängerliste übernimmt Word und formletter2pdf greift hier nur auf die von Word bereitgestellten Funktionen zu.
Zu welchem Zeitpunkt friert Word denn bei dir ein? Direkt nach der Auswahl der Liste oder erst wenn du formletter2pdf bzw. das Erstellen der Dateien startest?
lg Christian
Kommentar von Christian Bartl am 24.01.2021 um 20:00
Hallo Christian,
das Programm (Word2016) ist eingefroren, direkt nachdem das Auswahlmenü für die Exceltabelle als Quelle sich geschlossen hat. Dann geht mit Word absolut gar nichts mehr. Der Fehler trat auch noch nach Entfernung des Markos auf. Ich habe die Serienbrieffunktion dann über die Reparaturfunktion von Office wieder zum Laufen bekommen.
Kommentar von Kai am 25.01.2021 um 07:38
Hallo Christian,
tolles Tool, ich habe jedoch folgendes kleine Problem:
ich möchte die Dateien in einem festen Zielverzeichnis abspeichern. Wenn das Verzeichnis schon existiert, bekomme ich folgende Fehlermeldung:
"a folder with the given name already exist..."
Gibt es dafür eine Lösung?
Kommentar von Ralf-Jürgen Werner am 04.03.2021 um 12:17
Hallo Ralf-Jürgen,
leider nein, da formletter2pdf aktuell so programmiert ist unter allen Umständen das Überschreiben von vorhandenen Dateien zu vermeiden. Daher darf das Ziel auch kein bestehender Ordner sein.
lg Christian
Kommentar von Christian Bartl am 20.03.2021 um 21:37
Hallo Christian
Ich habe den VBA Code aus deinem Blog verwendet um einen Serienbrief in einzelne PDF Seite zu speichern. Der Code funktioniert einwandfrei, ohne Fehlermeldung.
Nun habe ich dem Serienbrief (variable Bilder hinzugefügt) die Aktualisierung mit F9, wie auch die Ausgabe in ein neues Dokument (nach Aktualisierung aller Serienbriefe in einem Dokument) funktionieren.
Bei der Ausgabe mit dem Code "Word-Serienbrief in einzelne Word- oder PDF-Dateien speichern" wird aber immer das Bild der aktuellen Seite auf allen einzelnen Dokumenten eingefügt. Alle anderen Seriendruckfelder aktualisieren sich wie gewünscht.
Gibt es eine Möglichkeit dem Code eine Zeile zur Aktualisierung der Bilder (.png) hinzuzufügen?
Mit "Selection.Fields.Update" einzufügen ist es wohl nicht getan.
Der Pfad für die Bilder kommt aus einer Excel Datei oder der Pfad ist direkt in den Serienbrief geschrieben. Der Dateiname und die Endung (.png) stammt aus einem Normalen Seriendruckfeld.
Vielen Dank für eine Antwort
Gruss Reto
Kommentar von Reto am 15.03.2021 um 23:06
Hallo Christian
Bezüglich meiner Anfrage von gestern "Grafiken im Serienbrief, für einzelne PDF Ausgabe aktualisieren".
Sorry, ich habe es übersehen, du hast diese Frage bereits vor Jahren beantwortet. In den Kommentaren auf Seite 57 von 74 ;-)
ActiveDocument.Fields.Update - das wars.
Danke für super Makro, das ist echt der Hammer!!
Kommentar von Reto am 16.03.2021 um 20:40
Hallo Reto,
freut mich, dass du die Lösung bereits selbst finden konntest.
lg Christian
Kommentar von Christian Bartl am 20.03.2021 um 21:39
Hallo Christian,
zunächst einmal: tolles Tool! Es hat mir schon sehr viel Arbeit abgenommen. Allerdings hat sich "von heute auf morgen" ein Problem offenbart, das ich mir nicht erklären kann.
Ich habe - wie gewohnt - den Serienbrief gestartet und die betreffenden Kontakte aus der Empfängerliste ausgewählt. Statt der entsprechenden (mehreren) PDF-Dokumente wird nur noch ein PDF-Dokument (des ersten ausgewählten Kontakts) ausgegeben.
Hast du da eine Lösung für mich?
Vielen Dank im Voraus und freundliche Grüße!
Kommentar von Valentin am 16.03.2021 um 17:58
Hallo Valentin,
hast du die Word-Datei eventuell bereits zusammengeführt (formletter2pdf muss unbedingt auf die Ursprungsdatei ausgeführt werden)?
Werden in der Vorschau die einzelnen Empfänger noch angezeigt?
Hast du in der Verwaltung der Empfänger (Empfängerliste bearbeiten) eventuell einen Filter aktiviert?
lg Christian
Kommentar von Christian Bartl am 20.03.2021 um 21:41
Hi Christian,
entschuldige die späte Antwort.
zu deinen Vermutungen:
- die Word-Dateien habe ich nicht zusammengeführt. Das mache ich grundsätzlich nicht, ich lasse mir nur die PDFs ausgeben.
- in der Vorschau werden die einzelnen Empfänger angezeigt. Allerdings habe ich gemerkt, dass es beim Durchklicken der einzelnen Empfänger kein Ende gibt, er beginnt immer wieder von neu, wenn ich den letzten Empfänger erreicht habe. Wenn ich auf das Symbol daneben klicke (damit springe ich zum letzten Empfänger), springt er wieder zum ersten. Das war vorher auch nicht so...
- ich habe einen Filter aktiviert, aber habe es auch schon ohne probiert - leider erfolglos. Daran kann es m.M.n. eigentlich nicht liegen...
Vielleicht kommst du dem Problem ja mit diesen Informationen auf die Schliche ;) würde mich freuen!
LG, Valentin
Kommentar von Valentin am 05.04.2021 um 18:48
Hallo Valentin,
dann habe ich zur Zeit leider auch keine Erklärung für das Verhalten.
Probiere doch einmal, ob das Verhalten auch mit einem neu erstellten Serienbrief auftritt. Falls nein, könntest du überlegen, dein Dokument neu zu erstellen.
lg Christian
Kommentar von Christian Bartl am 06.04.2021 um 21:12
Hallo Christian, ich habe heute einmal getestet, ob ich mit formletter2pdf die Digitalisierung von Vereinspost realisieren kann, also Schreiben an Mitglieder und Spendenquittungen. Aktuell verwende ich (noch) Office 2010.
Bei den Spendenquittungen hat es gut funktioniert, bei manchen Schreiben (enthalten einen Briefkopf aus Adressfeld und Grafik sowie eine Fußzeile mit Adress- und Kontodaten) ist leider das Problem der angehängten leeren Seiten aufgetreten. Laut FAQ sollte das ein Problem des PDF-Exports von Word sein, aber leider ist es auch passiert, wenn ich .docx als Dateiformat gewählt habe.
Ich habe dann aber festgestellt, dass die leeren Seiten bei einem längeren Schreiben erzeugt wurden, wo die Schlusszeile einen großen "Abstand vor" hatte, sodass ein weiterer Absatz mit demselben Format auch im Original auf eine neue Seite gerutscht wäre. Daraufhin habe ich hinter diese Schlusszeile einen leeren Absatz ohne "Abstand vor" gesetzt, der dann im Original auf derselben Seite geblieben ist. Und damit wurden dann auch beim Export keine leeren angehängten Seiten mehr erzeugt.
Es könnte also sein, dass die Exportroutine aus irgendeinem Grund an die letzte Zeile eines Dokuments immer noch einen virtuellen eigenen Leerabsatz im selben Format wie die Schlusszeile anhängt. Und wenn dann dieser virtuelle Leerabsatz nicht mehr auf die Seite passt, wird eine weitere Leerseite angehängt. Falls das tatsächlich der Grund ist, könnte man das Verhalten also vielleicht positiv dadurch beeinflussen, dass man selbst einen Leerabsatz mit minimaler Zeilenhöhe und ohne zusätzliche Abstände am Ende seines Dokuments ergänzt. Sodass dann auch ein etwaiger virtueller Leerabsatz der Exportroutine im selben Format nicht mehr auf eine neue Seite rutscht.
Kommentar von Andreas am 11.04.2021 um 00:35
Hallo Andreas,
vielen Dank für deine ausführliche Fehlerbeschreibung. Das Problem ist seit längerem bekannt, es gibt dafür allerdings leider keine andere Lösung als im eigentlichen Dokument den Abstand des "Inhalts" zum Seitenende zu verringern. formletter2pdf selbst modifiziert den Inhalt des Word-Dokuments nicht.
lg Christian
Kommentar von Christian Bartl am 11.04.2021 um 12:51
Hallo Christian,
ich fand es ganz interessant und wollte es daher als mögliche Lösung teilen, dass bei mir der Fehler dadurch behoben wurde, dass ich einen Absatz am Ende des Dokuments hinzugefügt habe (also nichts weggenommen oder gekürzt/verringert habe).
Unabhängig davon möchte ich gerne noch das im Vorkommentar vergessene Lob für das hervorragende und überaus nützliche Tool ergänzen. :-)
VG, Andreas
Kommentar von Andreas am 11.04.2021 um 13:03
... ich habe das jetzt noch mal ein bisschen systematischer getestet. Die Ausgaberoutine von Word scheint immer dann eine Leerseite anzuhängen, wenn nach dem letzten Absatz auf einer Seite ein (im Dokument nicht vorhandener) weiterer Absatz im selben Format auf eine neue Seite rutschen würde. Das kann z.B. auch dadurch verursacht werden, dass der letzte existierende Absatz einen großen "Abstand vor" hat.
Der Fehler kann vermieden werden, indem man hinter der letzten Zeile noch einen weiteren leeren Absatz (ohne "Abstand vor") hinzufügt. Wenn dafür der Platz auf der Seite knapp wird, kann man ggf. die Schriftgröße des hinzugefügten Leerabsatzes verkleinern. Oder man formatiert ihn als ausgeblendeten Text. Im zweiten Fall macht es dann auch nichts aus, wenn dieser ausgeblendete Leerabsatz in der Originaldokumentenansicht auf einer neuen Seite erscheint. Bei der Ausgabe wird er trotzdem zuverlässig ausgeblendet.
So ist es zumindest bei meinen Testdokumenten gelaufen. Vielleicht können ja andere Nutzer das bei ihren Dokumenten mal ausprobieren?
VG, Andreas
Kommentar von Andreas am 11.04.2021 um 14:01
Nach Installation hat das Makro erst perfekt funktioniert, nun bekomme ich immer nur die Meldung "1 form letter exported successfully!" doch der Ordner ist dann leer und kein pdf wurde erstellt, WARUM?
Kommentar von Sven am 12.05.2021 um 08:45
Hallo Sven,
hast du das Dokument eventuell "Fertiggestellt und Zusammengeführt"? Oder etwas an der Empfängerliste verändert? Funktioniert der Export beim im Downloadpaket enthaltenen Testdokument weiterhin? Das Problem wird in den Kommentaren öfter erwähnt, ich bin nur bisher leider nicht dahinter gekommen, warum dies manchmal passiert.
lg Christian
Kommentar von Christian Bartl am 16.05.2021 um 00:25
Hi,
can you please help me how to set up and then use this tool? I use Microsoft Office for Mac 365 (latest) and after opening the docm file I do not get the SQL question. Instead I first need to accept the macro and then "formletter2pdf.docm is a mail merge main document. Word cannot find its data source, ~/formletter2pdf-2.."
Thanks!
Simon
Kommentar von Simon am 23.07.2021 um 23:42
Hi Simon,
Word for Mac is a bit different than Word on Windows. Open the file, accept the macro, ignore the error messages and then select your recipients or create a new recipient list via the menu option in the tab mail merge.
Greetings,
Christian
Kommentar von Christian Bartl am 29.07.2021 um 09:41
Hallo Christian,
ich möchte das Makro zum Exportieren von einem Serienbrief mit Schnellbausteinen benutzen. Die Schnellbausteine, für das Datum funktionieren super, aber der Schnellbaustein mit dem Dokumentname macht Probleme. Beim Exportieren wird er in Standardtext umgewandelt und wird nicht mehr automatisch aktualisiert.
Freundliche Grüße
Kommentar von Mathis am 26.07.2021 um 14:56
Hallo Mathis,
formletter2pdf erzeugt im Hintergrund für jedes exportierte PDF eine eigene neue Word-Datei ohne spezifischen Titel oder Dateiname, daher bezweifle ich, dass ein dynamischer Dokumentenname funktioniert.
lg Christian
Kommentar von Christian Bartl am 29.07.2021 um 09:38
Hallo,
ich möchte Dokumente im Querformat als PDF erstellen. Wenn ich den entsprechenden Serienbrief in PDFs umwandle, haben die PDF aber immer zwei Seiten. Auf der ersten das gewünschte Dokument mir der ausgefüllten Vorlage, auf der zweiten die unausgefüllte Version. Weiß jemand, woran das liegen könnte und wie man es beheben könnte? Im Hochformat habe ich überhaupt keine Probleme.
Danke!
Peter
Kommentar von Peter am 29.07.2021 um 15:10
Hallo Peter,
Ich kenne das Phänomen nur mit einer zusätzlichen leeren Seiten, aber nicht wie von dir beschrieben mit doppeltem Inhalt.
An einer leeren Seite ist die PDF-Exportfunktion von Microsoft Word schuld - villeicht hilft es auch in deinem Fall das Originaldokument leicht zu modifizieren (Verschieben der Seitenränder, Tabellenhöhe reduzieren, etc.), um somit mehr Abstand zum Seitenende der letzten Seite zu schaffen.
lg Christian
Kommentar von Christian Bartl am 31.07.2021 um 12:41
Hallo,
ich habe das VBA-SKript seit einiger Zeit im Einsatz und finde es Klasse.
Jetzt hat wohl mal wieder ein Office-Update rein gehauen und das Skript bleibt hängen mit der Fehlermeldung:
"Projekt oder Bibliothek nicht gefunden".
Kann mir jemand mit mehr Ahnung als ich, bitte helfen?
Vielen Dank im Voraus..
Kommentar von Armin am 05.08.2021 um 09:28
Hallo Armin,
ich hab einmal schnell recherchiert und folgendes gefunden, das helfen sollte:
https://communities.bentley.com/communities/user_communities/bentley_general_de/w/bentleygeneralde-wiki/19347/vba-fehler-bei-ausfuhrung-projekt-oder-bibliothek-nicht-gefunden
lg Christian
Kommentar von Christian Bartl am 05.08.2021 um 09:46
Hallo Christian,
super Sache mit dem Formletter2pdf.
Nach dem ich mein PC defekt ist und ich einen neuen habe versuche ich deine Makros wieder zum laufen zu bekommen, jedoch ohne erfolg.
Office356
es wir immer angezeigt:
formletter2pdf cannot be executed beause this document isn´t a form letter. Pleas start the mail merge funktion first and then run formletter2odf agian.
ich habe keine ahnung was ich falsch mache, es lief doch vorher auch super.
danke für deine hilfe. Grüße Alex
Kommentar von Alex am 14.09.2021 um 17:32
Hallo Alex,
formletter2pdf prüft bei jedem Aufruf, ob das Dokument auch wirklich ein Serienbrief ist. In deinem Fall scheint hier im Serienbrief etwas nicht zu passen, daher auch die Fehlermeldung. Warum das nun genau jetzt aufritt und vorher nicht kann ich leider nur spekulieren.
lg Christian
Kommentar von Christian Bartl am 06.12.2021 um 22:30
Hallo Christian,
vielen Dank für das geniale VBA Tool. Ich nutze die aktuellste Version 2.10 mit Office 2019. Ich bekomme den Fehler StorageFiletype angezeigt, sobald ich in der Schnellzugriffleiste auf das formletter2pdf Symbol klicke.
Den Kommentar vom 30.06.2018 von einem anderen User der dasselbe Problem hatte, habe ich gesehen. Hilft mir leider nicht.
Das Makro ist in dem Dokument selbst nicht vorhanden, lediglich in der Normal.dot gesetzt (so wie es auch auf der Webseite in der Anleitung beschrieben wird).
Kannst du hier helfen?
Vielen Dank für deine Unterstützung.
Kommentar von Martin am 22.09.2021 um 12:20
Hallo Martin,
tritt der Fehler auch in der Beispieldatei aus dem Downloadpaket auf oder nur in deinem Dokument? Erhältst du den Fehler auch, wenn du das Makro über Ansicht -> Makros startest.
lg Christian
Kommentar von Christian Bartl am 06.12.2021 um 22:33
Ich nutze MS Word 365 auf Mac. Beim einrichten der Makros für das Worddokument gibt es bei schritt 4 der Anleitung das Problem, dass nur formletter2pdf nach Normal.dotm kopiert werden kann. Beim Kopieren von formletter2pdf_form wird entweder eine Fehlermeldung angezeigt oder im Feld "Nach Normal.dotm" erscheint "ClientWidth".
Wo ist hier der Fehler und wie kann er behoben werden?
Kommentar von Alena am 22.09.2021 um 16:11
Hallo Alena,
ich habe gerade keinen Mac zur Hand, um das Problem im Detail nachzustellen. Soweit ich mich erinnere, hatte ich ab einer gewissen neueren Version von Office auch dieses Problem.
Dazu zwei Lösungsansätze:
- Entweder das Makro aus dem im Download enthaltenen Quellcode selbst importieren
- Oder die Beispieldatei als Grundlage für die eigenen Dokumente nutzen.
lg Christian
Kommentar von Christian Bartl am 06.12.2021 um 22:28
Großartige Initiative, die ein Problem löst, dass ich als VBA Laie nie alleine hätte lösen können. Leider, und das liegt wahrscheinlich an meiner völligen Ahnungslosigkeit in Bezug auf Makros, schaffe ich es nicht, es zum laufen zu bringen.
Das Beispieldokument funktioniert wunderbar und die Schritte zum einbinden in Normal.dotm habe ich glaube ich auch soweit hinbekommen. Wenn ich allerding einen eigenen Serienbrief verarbeiten will, springt er beim Klick auf Project.formletter2pdf.formletter2pdf in den Debugger zu "Private Sub UserForm_Initialize()" mit der Fehlermeldung "Compile error: Ambiguous name detected StorageFiletype".
System ist Windows 10 mit Office365.
Ist das ein Problem mit den Inhalten meiner Verteilerliste? Oder wo ist mein Fehler? Ein kursorisches Lesen der Kommentare hat mich leider nicht weitergebracht, aber vielleicht habe den entscheidenden Kommentar auch einfach überlesen.
Kommentar von Julian am 24.09.2021 um 12:11
Hallo Julian,
ich würde aufgrund der Fehlermeldung vermuten, dass beim Kopieren des Makros etwas schief gelaufen ist.
lg Christian
Kommentar von Christian Bartl am 06.12.2021 um 22:25
Tolles Tool, aber eine wichtige Frage: Wie sieht´s mit der Einbettung von Schriftarten (in meinem Fall otf) in die PDF-Dokumente aus? Unterstützt das Tool das?
Kommentar von Bastian am 19.10.2021 um 03:22
Hallo Bastian,
aktuell gibt es dafür keine explizite Option die in formletter2pdf aktiviert werden könnte. Die genutzte Funktion zur Erstellung der PDFs erlaubt allerdings die Einbettung von Schriften, sofern dies entsprechend im Quellcode umprogrammiert wird.
lg Christian
Kommentar von Christian Bartl am 06.12.2021 um 22:24
Hallo! Ich finde das Projekt toll, da es eine Funktion ergänzt, die wirklich fehlt. Ich möchte gern fragen, unter welcher Lizenz das Projekt steht und ob ich einen Fork mit einener Weiterentwicklung machen darf. Grüße!
Kommentar von Michael am 29.10.2021 um 15:15
Hallo Michael,
das Projekt steht unter der Apache License 2.0 (ist im Download mitenthalten) und du darfst gerne jederzeit einen eigenen Fork starten, insbesondere weil meine Freizeit aktuell nicht ausreicht, das Projekt aktiv weiter zu entwicklen.
lg Christian
Kommentar von Christian Bartl am 06.12.2021 um 22:21
Hi,
das Tool ist wirklich großartig!
Habe allerdings das Problem, dass Office bei der Erstellung der Dateien bei jeder (!) Einzeldatei anzeigt, dass ein potentielles Sicherheitsrisiko entdeckt wurde. Das ist definitiv kein Problem des Tools selbst, aber vielleicht hat jemand schon vorher diese Schwierigkeit gehabt? Ich habe schon vieles versucht (U. a. im Office Trust Center die Speicherorte zu einem vertrauenswürigen Ort erklärt). Hat jemand evtl. ein ähnliches Problem? Ich nutze Windows 10, Version 21H1 und Office365 Apps for Business, Version 2110.
Kommentar von MR am 11.11.2021 um 09:20
Hallo MR,
ich habe bei mir eben noch einmal mit der letzten Version von Office 365 unter Windows 11 getestet und konnte keine entsprechende Fehlermeldung beim Einsatz von formletter2pdf provozieren.
Hast du in deinem Serienbrief eventuell dynamische Elemente, Multimediainhalte oder andere Makros eingebunden, die dazu führen könnten, dass Office ein Risiko erkennt?
lg Christian
Kommentar von Christian Bartl am 06.12.2021 um 22:19
Hallo, ich wollte mich bedanken. Statt wie jedes Jahr diese Bonusheftchen abzustempeln, hatte ich mir überlegt, Mitgliedsbescheinigungen auszustellen und die dann als pdf abzuspeichern. Ohne diese Makro und die wirklich guten Erläuterungen, hätte ich einiges an Zeit investieren müssen. Und deshalb kommt an dieser Stelle ein dickes Dankeschön von meiner Seite. Jetzt müssen die Krankenkassen diese Art der Bescheinigung nur noch akzeptieren. :-)
Kommentar von Michaela am 11.12.2021 um 20:28
Hallo,
Ich bekommen in Word 2016 die Meldung:
Die Makros in diesem Projekt sind deaktiviert.
Habe aber im Trustcenter alle aktiviert.
Kommentar von Gerhard dorner am 24.02.2022 um 11:04
Hallo Gerhard,
formletter2pdf hat auf diese Sicherheitsmaßnahme von Word keinen Einfluss. Bei mir ist im TrustCenter die Standardeinstellung unter Makroeinstellungen "Alle Makros mit Benachrichtigungen aktivieren" ausreichend.
Nutzt du eventuell einen Firmenrechner, der im ActiveDirectory hängt? Da könnte es sein, dass der Administrator entsprechende Einstellungen überschreibt und Dokumente mit Makros verbietet.
lg Christian
Kommentar von Christian Bartl am 24.02.2022 um 21:06
Hi,
Danke für deine Antwort. Mittlerweile nutze ich die 64 Bit Version und seither gehts nicht, auch nicht mit den alten Dateien
Kommentar von Florian am 24.06.2022 um 09:37
Hi, Tolles Tool! Funktioniert auch grundsätzlich.
Nach der Durchführung bleibt Word aber im Hintergrund ich kann Worddateien erst wieder öffnen, nachdem ich Word per Task Manager "hart" geschlossen habe.
Die Fehlermeldung davor lautet, dass die Aktion nicht ausgeführt werden kann, weil ein Dialogfeld noch geöffnet ist. Das sehe ich aber nicht, weil Word noch im Hintergrund ist.
Ideen woran das liegen könnte?
Kommentar von HF am 25.02.2022 um 10:39
Hi, das tool ist toll und hilft sehr.
ich hatte allerdings das Problem, dass Word nach dem es in den Hintergrund versetzt wurde nicht mehr nach vorne kam und ich dann das letzte Dialogfeld nicht sah und klicken konnte. Damit war Word blockiert, weil dauerhaft ein Dialogfeld offen war, welches nicht sichtbar war.
Das lag wohl daran, dass die Befehle "Application.Visible = True" und "Application.ScreenUpdating = True" erst nach "Error Handling:" folgten.
Die beiden Zeilen darüber kopiert und alles lief super!
Kommentar von HF am 25.02.2022 um 11:11
Vielen Dank erneut für das tolle Makro! Bei der Verwaltung meines Ortsvereins ist das für mich eine Riesen-Hilfe!
Kommentar von Thomas am 08.03.2022 um 14:16
Hallo Christian,
erstmal danke für das super Tool. Leider bricht die Erstellung der PDF Dateien immer nach einer Datei ab. Es erscheint keine Fehlermeldung sondern es kommt die zu erwartende Abschlußnachricht, dass die Dokumente erstellt wurden. Allerdings wurde eben nur der erste Datensatz des Serienbriefes gedruckt, obwohl mehrere Sätze ausgewählt sind. Es hatte auch immer genau auf diesem Wege funktioniert, nun aber nicht mehr. Ich vermute evtl eine Einstellung in Word ist nicht Richtig. Ist so ein Verhalten vielleicht bereits bekannt?
Besten Dank für Deine Einschätzung
Simon
Kommentar von Simon am 06.04.2022 um 13:58
Hallo Simon,
solch ein Verhalten wird immer wieder von Nutzern gemeldet, eine generelle Lösung habe ich aber leider nicht.
lg Christian
Kommentar von Christian Bartl am 22.05.2022 um 21:19
Moin, Ich habe exact das gleiche Problem. Neu Anlegen des Word Dokuments hat leider nicht zum Erfolg geführt. Werde es weiter probieren. Wenn jemand eine Lösung findet gerne teilen :-) Beste Grüße.
Kommentar von Christian am 30.05.2022 um 14:24
Hallo,
soweit ich feststellen konnte, bricht die Verarbeitung ab, wenn Leerzeilen in der Exel Liste vorhanden sind. Leider konnte ich noch nicht genauer herausfinden, welche Zellen relevant sind - vermutlich nur die Spalte A der Liste. Vielleicht kann Christian das vom Code her klären, wann die Verabeitung beendet wird wenn Daten irgendwo fehlen.
Danke Simon
Kommentar von Simon am 22.06.2022 um 15:41
Hallo Simon,
danke für die wertvolle Information. Ich habe eben versucht, das Verhalten nachzustellen und Leerzeilen in einer Excel-Empfängerliste einzufügen oder auch einzelne Felder innerhalb einer Zeile leer zu lassen, konnte das Verhalten aber leider nicht nachstellen.
Hat deine Excel eventuell einzelne Felder mit sehr speziellen Sonderzeichen die für die Generierung des Dateinamens herangezogen werden?
lg Christian
Kommentar von Christian Bartl am 24.06.2022 um 09:29
Hallo,
erstmal ein Lob und ein Danke fürs Tool. Ich verstehe aber nicht wie ich es bei bestehenden Serienbriefen aktivieren kann. Wenn ich die Beispieldatei öffne und die Datenverbindung angebe, sehe ich die Icon oben und es funktioniert. Aber wenn ich dann einen bestehenden Serienbrief öffne finde ich die Icone für formletter2pdf nicht. Auch nicht, wenn ich ein neues Dokument öffne. Nur wenn ich die Beispieldatei öffne! Makros sind alle erlaubt.
Was mache ich falsch?
Kommentar von Simon am 06.04.2022 um 16:25
Hallo Simon,
du musst das Makro in deine Word-Datei einbinden - siehe dazu die Anleitung auf dieser Website.
lg Christian
Kommentar von Christian Bartl am 22.05.2022 um 21:15
Ähnliches passiert bei mir auch (O365, Sharepoint-Dokumente). Im Beispieldokument alles gut, aber wenn ich das Makro manuell in meine Word-Serienbriefe einbinde (was vor Sharepoint nie nötig war), wird das Makro beim manuellen Start (oder über das Leistensymbol) mit einem Fehler beendet. Ich bin großer Fan des Makros und vermisse es zutiefst ;-)
Kommentar von Sandra am 14.07.2022 um 12:24
Hallo Sandra,
wenn dein Dokument auf SharePoint liegt, kann es sein, dass der Administrator die Verwendung von Makros einschränkt.
Kannst du mir eventuell den genauen Wortlaut der Fehlermeldung zukommen lassen?
lg Christian
Kommentar von Christian Bartl am 19.07.2022 um 21:39
Hey,
das Tool ist sensationell, danke :-)
Zwei Fragen habe ich:
Ich habe eine Excel Liste mit über 2000 Einträgen,
brauche aber immer nur ca. 50 davon. Über die
"Empfänger bearbeiten" Funktion in Word ist das
recht mühseelig die alle immer einzeln auszuwählen.
Kann ich nicht irgendwie einstellen nur die ersten 50
in einzelne pdf zu generieren?
Und kann ich bei der automatischen Benennung des Speicherortes (folder name) durch den timestamp auch irgendwie in folgendes Format ändern, nur Datum (ohne Uhrzeit) in folgender Form: 2022-04 (also JJJJ-MM)
Danke schon mal im Voraus
Liebe Grüße
Kommentar von Sonja am 08.04.2022 um 17:46
Hallo Sonja,
beide gewünschten Einstellungen lassen sich aktuell nicht über die Oberfläche treffen und bedürfen daher einer Anpassung im Code des Makros.
lg Christian
Kommentar von Christian Bartl am 22.05.2022 um 21:18
Hey,
wäre es möglich diese beiden Verbesserungen im Makro
gegen Entgelt bei Dir in Auftrag zu geben?
Liebe Grüße
Kommentar von Sonja am 23.05.2022 um 06:04
Hallo Sonja,
formletter2pdf ist ein Hobbyprojekt von mir, insofern kann und möchte ich diesbezüglich keine Auftragsarbeiten annehmen. Der Quellcode steht aber offen zu Verfügung und es steht dir frei diesen nach Bedarf anzupassen oder anpassen zu lassen.
lg Christian
Kommentar von Christian Bartl am 23.05.2022 um 21:44
Alles klar, danke
Kommentar von Sonja am 23.05.2022 um 22:35
Hallo,
nettes Tool, aber in Office 365 für Mac kann ich aus irgendeinem Grund den Makro formletter2pdf_form nicht in die Normal-Vorlage kopieren. Irgendwelche Tipps?
Herzliche Grüße
Jan
Kommentar von Jan am 29.05.2022 um 21:55
Hallo Jan,
ja dieser Umstand ist mir bekannt, ich kenne allerdings aktuell keine andere Lösung als das Makro von Hand zu erstellen (leeres Makro mit dem Namen formletter2pdf) und dann die im Download enthaltenen Source-Dateien zu importieren, anstelle des Kopierens aus der Vorlage.
lg Christian
Kommentar von Christian Bartl am 30.05.2022 um 09:44
Hi,
bis letzten Monat funktionierte das Makro in meinen Serienbriefen super. Jetzt sagt er immer er hätte 1 datei erstellt (obwohl es mehrere sein müssen) und im Ordner sind dann gar keine?
Kommentar von Florian Schuhmacher am 22.06.2022 um 11:44
Hallo Florian,
nutzt du Office for Mac oder Office auf Windows? Hat sich an deiner Empfängerliste etwas geändert? Hast du schon versucht, einen anderen Pfad (z.B. den Desktop) als Ziel auszuwählen?
lg Christian
Kommentar von Christian Bartl am 24.06.2022 um 09:31
Guten Tag
Wir haben einen Serienbrief mit einem personifizierten QR Code. Wenn wir mit dem formletter2pdf die PDFs generieren, haben wir anstatt den QR Code folgende Meldung: "Erforderliche Parameter fehlen oder sind falsch.". Diese Meldung kommt bei der Serienbrieffunktion im Word nicht, sprich, die QR Codes generiert es korrekt im Word. Machen wir hier etwas falsch?
Vielen Dank für die Hilfe und freundliche Grüsse
Ly
Kommentar von Ly am 29.06.2022 um 12:52
Hallo Ly,
formletter2pdf nutzt einen Trick, damit es einzelne PDF-Dateien erstellen kann. Dazu werden im Hintergrund aus dem Serienbrief lauter einzelne Word-Dokumente erzeugt. Nicht alle Besonderheiten von Formeln, Makros oder Add-Ons funktionieren daher.
lg Christian
Kommentar von Christian Bartl am 01.07.2022 um 15:50
Erstmal besten Dank für das spannende Makro.
Das Makro funktioniert bei mir, aber leider nur für textbasierte Feldname. Ich habe pro Datensatz unterschiedliche Bilder, aber leider scheint das Makro bei der Erzeugung der PDFs die Bilder nicht zu aktualisieren. Stattdessen werden in jeder PDF die Bilder des ersten Datensatzes angezeigt.
Gibt es einen Trick wie dieses Makro auch bei variablen Bildern anwendbar wäre?
Kommentar von Rugada am 16.12.2023 um 03:50
Hallo Rugada,
das Problem ist bekannt, ich habe dafür aber leider noch keine Lösung.
lg Christian
Kommentar von Christian Bartl am 19.12.2023 um 09:26