8

Мне бы хотелось иметь самый быстрый способ экспортировать мой файл отчета .docx в .pdf и распространять его среди других всякий раз, когда у меня появляется новая обновленная версия.

Я ищу подход командной строки, который автоматизирует следующие шаги, которые я должен сделать вручную с помощью моей мыши:

File -> Save as -> Browse for location

Каковы мои параметры команды для командного файла?

2 ответа2

10

Создайте глобальный макрос в Word 2013:

' The Word macro for exporting to PDF (the Word window closes after finishing)
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

После этого вы можете конвертировать документ Word в PDF из командной строки:

"C:\Program Files\Microsoft Office\Office15\WINWORD.EXE" /mExportToPDFext /q "your_document_path.docx"

Окно Word даже не будет отображаться, поскольку после завершения работы макроса оно закрывается, а параметр /q отключает всплывающее окно при загрузке Word.

Вот альтернативные подробные инструкции на GitHub. Кроме того, опция контекстного меню позволяет выполнять пакетное преобразование даже без командной строки. Это можно добавить в реестр. Для DOC и DOCX:

[HKEY_CLASSES_ROOT\Word.Document.8\shell\SavePDFhere]
@="Save PDF here"

[HKEY_CLASSES_ROOT\Word.Document.8\shell\SavePDFhere\command]
@="\"C:\\Program Files\\Microsoft Office\\Office15\\WINWORD.EXE\" /mExportToPDFext /q \"%1\""

[HKEY_CLASSES_ROOT\Word.Document.12\shell\SavePDFhere]
@="Save PDF here"

[HKEY_CLASSES_ROOT\Word.Document.12\shell\SavePDFhere\command]
@="\"C:\\Program Files\\Microsoft Office\\Office15\\WINWORD.EXE\" /mExportToPDFext /q \"%1\"" 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .