Es gibt bestimmte Arbeiten, die immer gleich ablaufen. Zum
Beispiel habe ich es oft mit vielen Textdokumenten zu tun, die ich von
verschiedenen Kollegen bekomme. Meine Kunden möchten aber eine einzige
PDF-Datei, in der sie sich schnell zu Recht finden. Dazu muss ich jede
Word-Datei öffnen und als PDF-Datei abspeichern. Hinterher muss ich alle
PDF-Dateien in der richtigen Reihenfolge aneinander hängen. Das lässt
sich automatisieren. So gewinne ich Zeit für andere Dinge und meine
Kollegen haben etwas mehr Zeit, um mir Informationen zu liefern. In
diesem Artikel erkläre ich, mit welchen Tools ich aus vielen
Word-Dokumenten eine PDF-Datei mache.
In unserer Firma koordiniere ich die Kundenverträge, d. h. zu Beginn erstelle ich viele Word-Dokumente und verteile sie an Kollegen. Diese tragen die Details ein und schicken mir die Dateien zurück.
Wenn man einen Vertrag mit 60 Dokumenten hat und jeden Tag Änderungen kommen, fängt man an zu überlegen, ob sich das Erstellen von PDF-Dateien nicht automatisieren lässt. Mit Word und ein paar freien Tools aus dem Netz geht das ganz wunderbar. Vielen Dank an Stephan List, der in seinem Toolblog immer wieder neue Software und Dokumente vorstellt.
Das sind die wichtigsten Schritte:
Unten habe ich ein Beispiel angefügt, um das Prinzip zu erläutern. In dem Beispiel gibt es einen Projektvertrag mit 2 Anlagen. Wenn das Skript durchgelaufen ist, gibt es eine neue PDF-Datei mit Lesezeichen und richtigen Metadaten.
Was hat das mit Teamwork zu tun?
Anmerkungen und Verweise:
Um die Lesbarkeit des Makros und der Batchdatei zu erhöhen, habe ich die Dienste http://www.zilpher.com/colourcode.php und http://tohtml.com/Batch/ benutzt. Damit wird der Text bunter :-)
VBA-Makro für Word:
Batchdatei, die aus den drei Word-Dateien projektvertrag.docx, pv_Anlage1_Projektbeschreibung.docx und pv_Anlage2_Ansprechpartner.docx die PDF-Datei Projektvertrag_Version_1.pdf erzeugt:
In unserer Firma koordiniere ich die Kundenverträge, d. h. zu Beginn erstelle ich viele Word-Dokumente und verteile sie an Kollegen. Diese tragen die Details ein und schicken mir die Dateien zurück.
Wenn man einen Vertrag mit 60 Dokumenten hat und jeden Tag Änderungen kommen, fängt man an zu überlegen, ob sich das Erstellen von PDF-Dateien nicht automatisieren lässt. Mit Word und ein paar freien Tools aus dem Netz geht das ganz wunderbar. Vielen Dank an Stephan List, der in seinem Toolblog immer wieder neue Software und Dokumente vorstellt.
Das sind die wichtigsten Schritte:
- Schritt 1: Ich rufe Microsoft Word mit Hilfe eines VBA-Makros auf und speichere jede Datei als PDF-Datei ab (Beispielmakro siehe unten)
- Schritt 2: Ich nutze PDFTK, um alle PDF-Dateien aneinanderzuhängen.
- Schritt 3: Mit jpfbookmarks lege ich Lesezeichen fest.
- Schritt 4: BeCyPDFMetaEdit ist praktisch, um Titel, Autor und Datum der PDF-Datei festzulegen.
Unten habe ich ein Beispiel angefügt, um das Prinzip zu erläutern. In dem Beispiel gibt es einen Projektvertrag mit 2 Anlagen. Wenn das Skript durchgelaufen ist, gibt es eine neue PDF-Datei mit Lesezeichen und richtigen Metadaten.
Was hat das mit Teamwork zu tun?
- Stupide Arbeiten, die man automatisieren kann, binden uns unnötig. Sie halten uns davon ab, Zeit mit unseren Kunden oder Kollegen zu verbringen.
- Meine Kollegen sind von meinen Arbeitsergebnissen abhängig. Meine Prozesse dürfen nicht länger dauern als nötig. Ich muss prüfen, was für mein Team die kritischen Schritte sind, ohne die dessen Arbeit stockt.
- Jeder im Team sollte sein Handwerkzeug beherrschen. Bei Routinevorgängen sollte jeder einzelne sich überlegen, was er optimieren kann, damit das Team besser wird. Das gilt besonders für Vorgänge, die häufig vorkommen und zeitintensiv sind. Automate the pain away.
Anmerkungen und Verweise:
- /1/ Wenn man mit vielen Dateien arbeitet, reichen Batch-Dateien nicht mehr aus und man nutzt sog. Makefiles. Aber hier geht es ja um das Prinzip. Wenn jemand meine Makefiles sehen will, teile ich sie gern.
- Software „pdftk“, abrufbar unter http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/
- Software „jpdfbookmarks“, abrufbar unter http://flavianopetrocchi.blogspot.com/
- Software „BeCyPDFMetaEdit“, abrufbar unter http://www.becyhome.de/becypdfmetaedit/description_ger.htm
Um die Lesbarkeit des Makros und der Batchdatei zu erhöhen, habe ich die Dienste http://www.zilpher.com/colourcode.php und http://tohtml.com/Batch/ benutzt. Damit wird der Text bunter :-)
VBA-Makro für Word:
Sub UpdateAndPDF() ' ' UpdateAndPDF Makro ' ' Kopfzeile aktualisieren If ActiveWindow.View.SplitSpecial <> wdPaneNone Then ActiveWindow.Panes(2).Close End If If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _ ActivePane.View.Type = wdOutlineView Then ActiveWindow.ActivePane.View.Type = wdPrintView End If ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader Selection.WholeStory Selection.Fields.Update ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument ' Rest aktualisieren Selection.WholeStory Selection.Fields.Update ' Alle Äderungen annehmen WordBasic.AcceptAllChangesInDoc ' PDF-Dateiname festlegen If (Right(ActiveDocument.FullName, 5) = ".docx") Then PDFFilename = (Replace(ActiveDocument.FullName, ".docx", ".pdf")) Else PDFFilename = (Replace(ActiveDocument.FullName, ".doc", ".pdf")) End If ' PDF erstellen ActiveDocument.ExportAsFixedFormat OutputFileName:= _ PDFFilename _ , ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _ wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _ Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _ CreateBookmarks:=wdExportCreateHeadingBookmarks, DocStructureTags:=True, _ BitmapMissingFonts:=False, UseISO19005_1:=False ' Dokument speichern und Word beenden ActiveDocument.Save Application.Quit End Sub
Batchdatei, die aus den drei Word-Dateien projektvertrag.docx, pv_Anlage1_Projektbeschreibung.docx und pv_Anlage2_Ansprechpartner.docx die PDF-Datei Projektvertrag_Version_1.pdf erzeugt:
@echo off REM Word aufrufen "c:\Program Files\Microsoft Office\Office14\WINWORD.EXE" projektvertrag.docx /mUpdateAndPDF "c:\Program Files\Microsoft Office\Office14\WINWORD.EXE" pv_Anlage1_Projektbeschreibung.docx /mUpdateAndPDF "c:\Program Files\Microsoft Office\Office14\WINWORD.EXE" pv_Anlage2_Ansprechpartner.docx /mUpdateAndPDF REM PDFTK starten PDFTK projektvertrag.pdf pv_Anlage1_Projektbeschreibung.pdf pv_Anlage2_Ansprechpartner.pdf cat output projektvertrag_t1.pdf REM Lesezeichen exportieren jpdfbookmarks_cli projektvertrag.pdf -d > bookmarks.txt jpdfbookmarks_cli pv_Anlage1_Projektbeschreibung.pdf -d >> bookmarks.txt jpdfbookmarks_cli pv_Anlage2_Ansprechpartner.pdf -d >> bookmarks.txt ECHO Bitte Lesezeichen in Datei bookmarks.txt korrigieren PAUSE REM Lesezeichen in Gesamtdatei eintragen jpdfbookmarks_cli projektvertrag_t1.pdf --apply bookmarks.txt --out projektvertrag_t2.pdf REM Lesezeichen beim Oeffnen der PDF-Datei anzeigen jpdfbookmarks_cli projektvertrag_t2.pdf --show-on-open yes --out projektvertrag_t3.pdf REM Titel und Autor eintragen BeCyPDFMetaEdit projektvertrag_t3.pdf -T "Projektvertrag" BeCyPDFMetaEdit projektvertrag_t3.pdf -A "Jan Fischbach" REM Aufräumen REN projektvertrag_t3.pdf Projektvertrag_Version_1.pdf DEL projektvertrag_t2.pdf DEL projektvertrag_t1.pdf
Kommentare
Kommentar veröffentlichen