Note: The other languages of the website are Google-translated. Back to English
Přihlásit se  \/ 
x
or
x
Registrace  \/ 
x

or

Jak hromadně převádět více dokumentů Word do souborů PDF?

Pomocí funkce Uložit jako v aplikaci Word můžete snadno převést dokument aplikace Word do souboru PDF. Jak ale toho můžete dosáhnout, pokud chcete převést všechny dokumenty Wordu ve složce do samostatných souborů PDF najednou? Tento článek vám ukáže kód VBA pro dávkový převod více dokumentů Wordu do souborů PDF v Wordu.

Dávkový převod více dokumentů Word do souborů PDF pomocí VBA
Dávkový převod více dokumentů Word do souborů PDF pomocí programu Kutools pro Word


Dávkový převod více dokumentů Word do souborů PDF pomocí VBA

Následující kód VBA vám pomůže rychle převést všechny dokumenty Wordu ve složce na soubory PDF najednou. Postupujte prosím následovně.

1. Ve Wordu stiskněte Další + F11 klávesy pro otevření Microsoft Visual Basic pro aplikace okno.

2. V Microsoft Visual Basic pro aplikace okno, klepněte na tlačítko Vložit > Modul, potom zkopírujte níže uvedený kód VBA do okna modulu.

Kód VBA: Dávkový převod více dokumentů Wordu do souborů PDF v aplikaci 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. zmáčkni F5 klíč ke spuštění kódu.

4. Zobrazí se dialogové okno Procházet, vyberte složku obsahující dokumenty Wordu, které převedete na soubory PDF, a klikněte na ikonu OK tlačítko.

Poté jsou všechny dokumenty Wordu ve vybrané složce převedeny do samostatných souborů PDF najednou. Viz screenshot:


Dávkový převod více dokumentů Word do souborů PDF pomocí programu Kutools pro Word

Pokud je kód VBA obtížně zpracovatelný, můžete zkusit Převést dokumenty užitečnost Kutools pro Word vyřešit problém.

Kutools pro Word : S více než 100 užitečnými doplňky Wordu, zdarma vyzkoušet bez omezení do 60 dnů.

1. cvaknutí Kutools Plus > Doc / Docx. Viz snímek obrazovky:

2. V Převaděč formátu dokumentu v okně, musíte udělat následující:

2.1) Vyberte složku obsahující dokumenty, které převedete do formátu PDF v Složka zdrojového souboru sekce;
2.2 Vyberte Převést docx na pdf z Převést formát rozbalovací seznam;
2.3) Ve výchozím nastavení je Cílová cesta stejná jako zdroj políčko je zaškrtnuto. Pokud chcete umístit všechny převedené soubory PDF do stejné složky, ponechte tuto možnost vybranou;
Pokud chcete oddělit soubory PDF a zdrojové dokumenty, musíte zrušit zaškrtnutí políčka Cílová cesta stejná jako zdroj a vyberte novou složku pro uložení souborů PDF do složky Uložit do krabice;
2.4) Klikněte na start knoflík. Viz screenshot:

3. Poté se zobrazí dialogové okno s informacemi o tom, kolik dokumentů bylo úspěšně převedeno, klepněte na ikonu OK tlačítko a zavřete Převaděč formátu dokumentu okno.

Nyní jsou všechny dokumenty ve formátu .docx převedeny do souborů pdf.

Chcete-li mít bezplatnou zkušební verzi tohoto nástroje, přejděte na software si stáhněte zdarma nejprve a poté přejděte k použití operace podle výše uvedených kroků.



Doporučené nástroje produktivity slov

 

Kutools pro Word - více než 100 pokročilých funkcí pro Word, ušetříte 50% času

  • Složité a opakované operace lze provádět jednorázově během několika sekund.
  • Vložte více obrázků do složek do dokumentu Word najednou.
  • Sloučte a zkombinujte více souborů Wordu napříč složkami do jednoho v požadovaném pořadí.
  • Rozdělte aktuální dokument na samostatné dokumenty podle záhlaví, zalomení sekce nebo jiných kritérií.
  • Převádějte soubory mezi Doc a Docx, Docx a PDF, kolekci nástrojů pro běžné převody a výběr atd. ...

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