Note: The other languages of the website are Google-translated. Back to English
Войти  \/ 
x
or
x
Регистрация  \/ 
x

or

Как пакетно конвертировать несколько документов Word в файлы PDF?

Вы можете легко преобразовать документ Word в файл PDF с помощью функции «Сохранить как» в Word. Но если вы хотите преобразовать все документы Word в папке в отдельные файлы PDF одновременно, как вы можете этого добиться? В этой статье будет показан код VBA для пакетного преобразования нескольких документов Word в файлы PDF в Word.

Пакетное преобразование нескольких документов Word в файлы PDF с помощью VBA
Пакетное преобразование нескольких документов Word в файлы PDF с помощью Kutools for Word


Пакетное преобразование нескольких документов Word в файлы PDF с помощью VBA

Следующий код VBA помогает быстро преобразовать все документы Word в папке в файлы PDF сразу. Пожалуйста, сделайте следующее.

1. В Word нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > модуль, затем скопируйте ниже код VBA в окно модуля.

Код VBA: пакетное преобразование нескольких документов Word в файлы PDF в Word

Sub ConvertWordsToPdfs()
'Updated by Extendoffice 20181123
    Dim xIndex As String
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Dim xNewName As String
    Dim xFileName As String
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1) + "\"
    xFileName = Dir(xFolder & "*.*", vbNormal)
    While xFileName <> ""
        If ((Right(xFileName, 4)) <> ".doc" Or Right(xFileName, 4) <> ".docx") Then
            xIndex = InStr(xFileName, ".") + 1
            xNewName = Replace(xFileName, Mid(xFileName, xIndex), "pdf")
            Documents.Open FileName:=xFolder & xFileName, _
                ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
                PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
                WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
                wdOpenFormatAuto, XMLTransform:=""
            ActiveDocument.ExportAsFixedFormat OutputFileName:=xFolder & xNewName, _
                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
            ActiveDocument.Close
        End If
        xFileName = Dir()
    Wend
End Sub

3. нажмите F5 ключ для запуска кода.

4. Появится диалоговое окно «Обзор», выберите папку, содержащую документы Word, которые вы хотите преобразовать в файлы PDF, и щелкните значок OK кнопку.

Затем все документы Word в выбранной папке сразу конвертируются в отдельные файлы pdf. Смотрите скриншот:


Пакетное преобразование нескольких документов Word в файлы PDF с помощью Kutools for Word

Если код VBA трудно обрабатывать, вы можете попробовать Конвертировать документы полезности Kutools for Word решить проблему.

Kutools for Word : С более чем 100 удобными надстройками Word, бесплатно без ограничений в течение 60 дней.

1. Нажмите Kutools Plus > Doc / Docx. Смотрите скриншот:

2. в Конвертер форматов документов окно нужно сделать так:

2.1) Выберите папку, содержащую документы, которые вы конвертируете в pdf в Папка с исходным файлом раздел;
2.2 Выбрать Конвертировать docx в pdf из Формат Конвертировать раскрывающийся список;
2.3) По умолчанию Путь назначения такой же, как у источника флажок установлен. Если вы хотите поместить все преобразованные файлы PDF в одну папку, просто оставьте этот параметр выбранным;
Если вы хотите разделить файлы pdf и исходные документы, вам необходимо снять флажок Путь назначения такой же, как у источника поле и выберите новую папку для сохранения файлов PDF в Сохранить коробка;
2.4) Нажмите Пуск кнопка. Смотрите скриншот:

3. Затем появится диалоговое окно, в котором указано, сколько документов было успешно преобразовано, щелкните значок OK кнопку и закройте Конвертер форматов документов окно.

Теперь все документы формата .docx преобразованы в файлы pdf.

Если вы хотите получить бесплатную пробную версию этой утилиты, перейдите по ссылке бесплатно скачать программное обеспечение сначала, а затем перейдите к применению операции в соответствии с вышеуказанными шагами.



Рекомендуемые инструменты для повышения производительности Word

 

Kutools For Word - Более 100 расширенных функций для Word, сэкономьте 50% времени

  • Сложные и повторяющиеся операции можно производить разово за секунды.
  • Вставляйте сразу несколько изображений из папок в документ Word.
  • Объединяйте и объединяйте несколько файлов Word из папок в одну в желаемом порядке.
  • Разделите текущий документ на отдельные документы в соответствии с заголовком, разрывом раздела или другими критериями.
  • Преобразование файлов между Doc и Docx, Docx и PDF, набор инструментов для общих преобразований и выбора и т. Д.

Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Chengchi · 15 days ago
    VBA 很棒!!感謝您的分享。
  • To post as a guest, your comment is unpublished.
    K DEG · 1 months ago
    This saved my day, thanks so much!

    I would just like to point out for people using this, if the Word seems to freeze, just wait - it is generating the .pdf files. My Word froze but I opened the folder of the files, and could see that it was indeed generating the .pdf for all files.
  • To post as a guest, your comment is unpublished.
    Garrie · 1 months ago
    If you change
    xFileName = Dir(xFolder & "*.*", vbNormal)
     to 
    xFileName = Dir(xFolder & "*.doc*", vbNormal)
    the macro will not crash when there are non-Word files in the same folder.

  • To post as a guest, your comment is unpublished.
    Garrie · 1 months ago
    If you change
    xIndex = InStr(xFileName, ".") + 1
     to 
    xIndex = InStrRev(xFileName, ".") + 1
    it will search from the end of the string to find the first period. This will avoid problems where the filename contains periods.
  • To post as a guest, your comment is unpublished.
    Jirka · 2 months ago
    Change
     xIndex = InStr(xFileName, ".") + 1


  • To post as a guest, your comment is unpublished.
    San · 9 months ago
    The VBA code is great. Cheers ,ate
  • To post as a guest, your comment is unpublished.
    Doris · 11 months ago
    thanks for vba code , it helps a lot.
  • To post as a guest, your comment is unpublished.
    Eric Smith · 1 years ago
    Hello, Thank you so much for this code. It is working well, however, I get a dialog box after each conversion to save the word doc and I have to save. Can you include code in the macro to make that save and close the file instead of having to close each one?
    • To post as a guest, your comment is unpublished.
      Rebecca · 9 months ago
      if you add "ActiveDocument.Save" right above "ActiveDocument.Close" it will save the document before closing itself so you don't have to always hit the save prompt.
  • To post as a guest, your comment is unpublished.
    9aks92 · 1 years ago
    Hi,

    I get runtime error '424':
    Object required

    image attached.


    Please help.

    Thanks.
  • To post as a guest, your comment is unpublished.
    Akshay · 1 years ago
    Hi,

    I get runtime error '424':
    Object required

    at the below code

    Documents.Open Filename:=xFolder & xFileName, _
    ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
    PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
    WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
    wdOpenFormatAuto, XMLTransform:=""


    wdOpenFormatAuto = 0 it says.

    Please help.

    Thanks.
  • To post as a guest, your comment is unpublished.
    Stefan · 1 years ago
    Hi there,


    is there an easy way to adjust the VBA Code so that the Documents are convertet to .txt-Files?
  • To post as a guest, your comment is unpublished.
    Sammy · 1 years ago
    Is there any way to have the file name taken from the text of the document?
  • To post as a guest, your comment is unpublished.
    Marzio · 2 years ago
    VBA if i try to convert file that contains macros the macro swith to open file and ends without close file.
  • To post as a guest, your comment is unpublished.
    michaelwaung · 2 years ago
    So nice blog, Thanks for sharing this blog. It Has so useful information for users. I liked this information so much.
    Hope you keep sharing such kind of information convert word doc to html