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 для Word


Пакетне перетворення декількох документів Word у PDF-файли за допомогою VBA

Наступний код VBA допомагає швидко перетворити всі документи Word у папці у файли PDF відразу. Будь ласка, виконайте наступне.

1. У програмі Word натисніть клавішу інший + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2 В Microsoft Visual Basic для додатків вікна, натисніть Insert > Модулі, а потім скопіюйте код 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 для Word

Якщо з кодом VBA важко обробляти, ви можете спробувати Перетворення документів корисність Kutools для Word вирішити проблему.

Kutools для Word : Маючи понад 100 зручних надбудов Word, безкоштовно спробувати без обмежень протягом 60 днів.

1. клацання Kutools Plus > Doc / Docx. Дивіться знімок екрана:

2 В Конвертер формату документа вікно, потрібно зробити наступне:

2.1) Виберіть папку, в якій містяться документи, які ви конвертуєте у PDF Папка вихідного файлу розділ;
2.2 Виберіть Перетворити docx у pdf від Перетворення формату випадаючий список;
2.3) За замовчуванням Шлях призначення такий же, як і джерело позначено. Якщо ви хочете помістити всі перетворені PDF-файли в одну папку, просто залишайте цей параметр вибраним;
Якщо ви хочете розділити PDF-файли та вихідні документи, вам потрібно зняти прапорець Шлях призначення такий же, як і джерело і виберіть нову папку, щоб зберегти PDF-файли у Зберегти до коробка;
2.4) Клацніть на Start кнопку. Дивіться знімок екрана:

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

Тепер усі документи формату .docx перетворюються у файли PDF.

Якщо ви хочете отримати безкоштовну пробну версію цієї утиліти, перейдіть на безкоштовно завантажити програмне забезпечення - спочатку, а потім перейдіть до застосування операції, як описано вище.



Рекомендовані засоби підвищення продуктивності слів

 

Kutools для 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 · 1 months ago
    VBA 很棒!!感謝您的分享。
  • To post as a guest, your comment is unpublished.
    K DEG · 2 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 · 2 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 · 2 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 · 3 months ago
    Change
     xIndex = InStr(xFileName, ".") + 1


  • To post as a guest, your comment is unpublished.
    San · 10 months ago
    The VBA code is great. Cheers ,ate
  • To post as a guest, your comment is unpublished.
    Doris · 1 years 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 · 10 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 · 2 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