Note: The other languages of the website are Google-translated. Back to English
Zaloguj Się  \/ 
x
or
x
Zarejestruj się  \/ 
x

or

Jak wsadowo konwertować wiele dokumentów Word na pliki PDF?

Konwersja dokumentu programu Word do pliku PDF jest łatwa dzięki funkcji Zapisz jako w programie Word. Ale jeśli chcesz przekonwertować wszystkie dokumenty programu Word w folderze na osobne pliki PDF naraz, jak możesz to osiągnąć? W tym artykule pokażemy kod VBA do wsadowej konwersji wielu dokumentów Word na pliki PDF w programie Word.

Batch konwertuje wiele dokumentów Word na pliki PDF za pomocą VBA
Batch konwertuj wiele dokumentów Word na pliki PDF za pomocą Kutools for Word


Batch konwertuje wiele dokumentów Word na pliki PDF za pomocą VBA

Poniższy kod VBA pomaga szybko przekonwertować wszystkie dokumenty programu Word w folderze na pliki PDF jednocześnie. Wykonaj następujące czynności.

1. W programie Word naciśnij inny + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

2. w Microsoft Visual Basic for Applications okno, kliknij wstawka > Moduł, a następnie skopiuj poniższy kod VBA do okna modułu.

Kod VBA: Batch konwertuje wiele dokumentów Word na pliki PDF w programie 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. wciśnij F5 klucz do uruchomienia kodu.

4. Pojawi się okno dialogowe Przeglądaj, wybierz folder zawierający dokumenty programu Word, które chcesz przekonwertować na pliki PDF, i kliknij OK przycisk.

Następnie wszystkie dokumenty programu Word w wybranym folderze są od razu konwertowane na oddzielne pliki PDF. Zobacz zrzut ekranu:


Batch konwertuj wiele dokumentów Word na pliki PDF za pomocą Kutools for Word

Jeśli kod VBA jest trudny w obsłudze, możesz wypróbować Konwertuj dokumenty użyteczność Kutools dla Worda rozwiązać problem.

Kutools dla Worda : Ponad 100 przydatnych dodatków do Worda, bezpłatnie wypróbować bez ograniczeń w ciągu 60 dni.

1. kliknij Kutools Plus > Doc / Docx. Zobacz zrzut ekranu:

2. w Konwerter formatów dokumentów okno, musisz wykonać następujące czynności:

2.1) Wybierz folder zawierający dokumenty, które przekonwertujesz do formatu PDF w formacie Folder plików źródłowych Sekcja;
2.2 Wybierz Konwertuj docx na pdf z Format Konwertuj Lista rozwijana;
2.3) Domyślnie Ścieżka docelowa taka sama jak źródło pole jest zaznaczone. Jeśli chcesz umieścić wszystkie przekonwertowane pliki PDF w tym samym folderze, po prostu pozostaw tę opcję zaznaczoną;
Jeśli chcesz oddzielić pliki PDF i dokumenty źródłowe, musisz odznaczyć Ścieżka docelowa taka sama jak źródło i wybierz nowy folder, aby zapisać pliki pdf w formacie Zapisz do pudełko;
2.4) Kliknij Start przycisk. Zobacz zrzut ekranu:

3. Następnie pojawi się okno dialogowe z informacją, ile dokumentów zostało pomyślnie przekonwertowanych, kliknij OK i zamknij Konwerter formatów dokumentów okno.

Teraz wszystkie dokumenty w formacie .docx są konwertowane na pliki pdf.

Jeśli chcesz skorzystać z bezpłatnej wersji próbnej tego narzędzia, przejdź do bezpłatnie pobrać oprogramowanie najpierw, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.



Zalecane narzędzia zwiększające produktywność programu Word

 

Kutools For Word - więcej niż 100 zaawansowanych funkcji dla programu Word, oszczędzaj 50% czasu

  • Skomplikowane i powtarzalne operacje można wykonać jednorazowo w ciągu kilku sekund.
  • Wstaw wiele obrazów w folderach do dokumentu programu Word jednocześnie.
  • Scalaj i łącz wiele plików programu Word w folderach w jeden z żądaną kolejnością.
  • Podziel bieżący dokument na oddzielne dokumenty według nagłówka, podziału sekcji lub innych kryteriów.
  • Konwertuj pliki między Doc i Docx, Docx i PDF, zbiór narzędzi do typowych konwersji i zaznaczania, i tak dalej ...

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 · 11 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