Office

PDFs aus Worddateien im Explorer erstellen

Microsoft Word hat ja seit einiger Zeit eine Möglichkeit direkt aus der Anwendung ein PDF zu erzeugen. Das ist praktisch und macht Adobe Acrobat für meine Zwecke komplett überflüssig. Ich hatte jedoch heute das Problem, das ich aus einer großen Anzahl von Dokumenten PDFs erzeugen wollte. Alle nacheinander öffnen und als PDF speichern kam mir so 90er vor. 😉

Nach kurzer Suche im Internet bin ich auf einen coolen Artikel hier gestoßen. Ist nichts weiter als ein kleines Makro in der “normal.dotx” des Benutzers und ein Registry Key der über “HKEY_Classes_Root” einen Eintrag in das Rechts- Klick- Menu einer Word- Datei zaubert. Der ruft dann das Makro auf, welches die Datei als PDF speichert. Sehr elegant. Man kann auch mehrere Dateien selektieren und sie konvertieren. Fast genau was ich wollte, bis auf zwei Kleinigkeiten:

  1. ich habe Office 2016 (nicht 2013 wie im Beispiel)
  2. ich will das pro Benutzer haben und nicht pro Rechner

Hier die korrigierten Dateien um meine Problem zu lösen:

Makro in der “normal.dotx” des Benutzers:

Sub ExportToPDFext()
ChangeFileOpenDirectory ThisDocument.Path
ActiveDocument.ExportAsFixedFormat _
OutputFileName:=Left(ActiveDocument.FullName, InStrRev(ActiveDocument.FullName, ".")) + "pdf", _
ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=False, _
OptimizeFor:=wdExportOptimizeForPrint, _
Range:=wdExportAllDocument, _
From:=1, _
To:=1, _
Item:=wdExportDocumentContent, _
IncludeDocProps:=True, _
KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, _
DocStructureTags:=True, _
BitmapMissingFonts:=True, _
UseISO19005_1:=False
Application.Quit SaveChanges:=wdDoNotSaveChanges
End Sub

Registry- Einträge für “Als PDF speichern” pro Benutzer:

Windows Registry Editor Version 5.00
 
[HKEY_CURRENT_USER\Software\Classes\Word.Document.8\shell\SavePDFhere]
@="Als PDF speichern"
 
[HKEY_CURRENT_USER\Software\Classes\Word.Document.8\shell\SavePDFhere\command]
@="\"C:\\Program Files\\Microsoft Office\\Office16\\WINWORD.EXE\" /mExportToPDFext /q \"%1\""
 
[HKEY_CURRENT_USER\Software\Classes\Word.Document.12\shell\SavePDFhere]
@="Als PDF speichern"
 
[HKEY_CURRENT_USER\Software\Classes\Word.Document.12\shell\SavePDFhere\command]
@="\"C:\\Program Files\\Microsoft Office\\Office16\\WINWORD.EXE\" /mExportToPDFext /q \"%1\""

Achtung: Das ist für die 64-Bit Version von Office 2016, für die 32-Bit Version die Pfade in der Registry entsprechend anpassen.