Note: The other languages of the website are Google-translated. Back to English
Log på  \/ 
x
or
x
Tilmeld  \/ 
x

or

Sådan batch konverteres flere Word-dokumenter til pdf-filer?

Det er nemt for dig at konvertere et Word-dokument til en PDF-fil med funktionen Gem som i Word. Men hvis du vil konvertere alle Word-dokumenter i en mappe til separate PDF-filer på én gang, hvordan kan du opnå det? Denne artikel viser dig en VBA-kode til batchkonvertering af flere Word-dokumenter til pdf-filer i Word.

Batch konvertere flere Word-dokumenter til pdf-filer med VBA
Batch konvertere flere Word-dokumenter til pdf-filer med Kutools for Word


Batch konvertere flere Word-dokumenter til pdf-filer med VBA

Den følgende VBA-kode hjælper dig med hurtigt at konvertere alle Word-dokumenter i en mappe til pdf-filer på én gang. Gør som følger.

1. I Word skal du trykke på andre + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Moduler, kopier derefter under VBA-koden til modulvinduet.

VBA-kode: Batchkonverter flere Word-dokumenter til 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. Tryk på F5 nøgle for at køre koden.

4. En dialogboks Gennemse vises, vælg den mappe, der indeholder Word-dokumenter, du vil konvertere til pdf-filer, og klik på OK .

Derefter konverteres alle Word-dokumenter i den valgte mappe til separate pdf-filer på én gang. Se skærmbillede:


Batch konvertere flere Word-dokumenter til pdf-filer med Kutools for Word

Hvis VBA-kode er svær at håndtere, kan du prøve Konverter dokumenter nytte af Kutools for Word at løse problemet.

Kutools for Word : Med mere end 100 praktiske Word-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 60 dage.

1. klik Kutools Plus > Doc / Docx. Se skærmbillede:

2. i Dokumentformatkonverter vindue, skal du gøre som følger:

2.1) Vælg mappen, der indeholder dokumenter, du vil konvertere til pdf i Kildefilmappe afsnit;
2.2 Vælg Konverter docx til pdf fra Format Konverter rulleliste
2.3) Som standard er Destinationssti samme som kilde er markeret. Hvis du vil placere alle konverterede pdf-filer i samme mappe, skal du bare holde denne mulighed valgt;
Hvis du vil adskille pdf-filer og kildedokumenter, skal du fjerne markeringen i Destinationssti samme som kilde og vælg en ny mappe for at gemme pdf-filerne i Gem til boks;
2.4) Klik på Starten knap. Se skærmbillede:

3. Derefter dukker en dialogboks op for at fortælle dig, hvor mange dokumenter der er konverteret, skal du klikke på OK knappen og luk Dokumentformatkonverter vindue.

Nu konverteres alle .docx-formatdokumenter til pdf-filer.

Hvis du vil have en gratis prøveversion af dette værktøj, skal du gå til download softwaren gratis først, og gå derefter til for at anvende handlingen i henhold til ovenstående trin.


Anbefalede Word-produktivitetsværktøjer

 

Kutools til Word - mere end 100 avancerede funktioner til Word, spar din 50% tid

  • Komplicerede og gentagne operationer kan udføres engangsbehandling på få sekunder.
  • Indsæt flere billeder på tværs af mapper i Word-dokumentet på én gang.
  • Flet og kombiner flere Word-filer på tværs af mapper i en med den ønskede rækkefølge.
  • Opdel det aktuelle dokument i separate dokumenter efter overskrift, sektionsskift eller andre kriterier.
  • Konverter filer mellem Doc og Docx, Docx og PDF, samling af værktøjer til almindelige konverteringer og markering osv. ...
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