Note: The other languages of the website are Google-translated. Back to English
Logga in  \/ 
x
or
x
Registrera  \/ 
x

or

Hur batchkonverterar flera Word-dokument till pdf-filer?

Det är enkelt för dig att konvertera ett Word-dokument till en PDF-fil med funktionen Spara som i Word. Men om du vill konvertera alla Word-dokument i en mapp till separata PDF-filer samtidigt, hur kan du uppnå det? Den här artikeln visar en VBA-kod för att omvandla flera Word-dokument till pdf-filer i Word.

Batchkonvertera flera Word-dokument till pdf-filer med VBA
Batchkonvertera flera Word-dokument till pdf-filer med Kutools for Word


Batchkonvertera flera Word-dokument till pdf-filer med VBA

Följande VBA-kod hjälper dig att snabbt konvertera alla Word-dokument i en mapp till pdf-filer samtidigt. Gör så här.

1. I Word, tryck på andra + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. I Microsoft Visual Basic för applikationer fönstret klickar Insert > Modulerna, kopiera sedan VBA-koden nedan till modulfönstret.

VBA-kod: Batchkonvertera flera Word-dokument till pdf-filer i 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. tryck på F5 för att köra koden.

4. En bläddringsdialog dyker upp, välj den mapp som innehåller Word-dokument som du konverterar till pdf-filer och klicka på OK knapp.

Sedan konverteras alla Word-dokument i vald mapp till separata pdf-filer på en gång. Se skärmdump:


Batchkonvertera flera Word-dokument till pdf-filer med Kutools for Word

Om VBA-koden är svår att hantera kan du prova Konvertera dokument nytta av Kutools för Word för att lösa problemet.

Kutools för Word : Med mer än 100 praktiska Word-tillägg, gratis att prova utan begränsning på 60 dagar.

1. klick Kutools Plus > Doc / Docx. Se skärmdump:

2. I Dokumentformatkonverterare måste du göra på följande sätt:

2.1) Välj mappen som innehåller dokument som du kommer att konvertera till pdf i Mapp för källfil sektion;
2.2 Välj Konvertera docx till pdf från Format Konvertera rullgardinsmeny
2.3) Som standard är Destinationsväg samma som källa kryssrutan är markerad. Om du vill placera alla konverterade pdf-filer i samma mapp, håll bara det här alternativet valt;
Om du vill separera pdf-filer och källdokument måste du avmarkera Destinationsväg samma som källa och välj en ny mapp för att spara pdf-filerna i Spara till låda;
2.4) Klicka på Start knapp. Se skärmdump:

3. Sedan dyker en dialogruta upp för att berätta hur många dokument som har konverterats framgångsrikt, klicka på OK och stäng knappen Dokumentformatkonverterare fönster.

Nu konverteras alla dokument .docx-format till pdf-filer.

Om du vill ha en gratis testversion av det här verktyget, gå till ladda ner programvaran gratis först och sedan tillämpa operationen enligt ovanstående steg.


Rekommenderade Word-produktivitetsverktyg

 

Kutools For Word - Mer än 100 avancerade funktioner för Word, spara din 50% tid

  • Komplicerade och upprepade operationer kan göras engångsbehandling på några sekunder.
  • Infoga flera bilder över mappar i Word-dokumentet samtidigt.
  • Slå ihop och kombinera flera Word-filer över mappar till en med önskad ordning.
  • Dela upp det aktuella dokumentet i separata dokument enligt rubrik, avsnittbrytning eller andra kriterier.
  • Konvertera filer mellan Doc och Docx, Docx och PDF, samling verktyg för vanliga konverteringar och val, och så vidare ...
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 · 3 months ago
    VBA 很棒!!感謝您的分享。
  • To post as a guest, your comment is unpublished.
    K DEG · 4 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 · 4 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 · 4 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 · 5 months ago
    Change
     xIndex = InStr(xFileName, ".") + 1


  • To post as a guest, your comment is unpublished.
    San · 1 years 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 · 1 years 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 · 2 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