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

or

Como converter em lote vários documentos do Word em arquivos PDF?

É fácil converter um documento do Word em um arquivo PDF com a função Salvar como do Word. Mas se você deseja converter todos os documentos do Word em uma pasta em arquivos PDF separados de uma só vez, como você pode fazer isso? Este artigo mostrará um código VBA para converter em lote vários documentos do Word em arquivos PDF no Word.

Converta em lote vários documentos do Word em arquivos PDF com VBA
Converta em lote vários documentos do Word em arquivos PDF com o Kutools for Word


Converta em lote vários documentos do Word em arquivos PDF com VBA

O código VBA a seguir ajuda a converter rapidamente todos os documentos do Word em uma pasta em arquivos PDF de uma só vez. Faça o seguinte.

1. No Word, pressione o outro + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.

2. No Microsoft Visual Basic para Aplicações janela, clique em inserção > Móduloe copie o código VBA abaixo para a janela Módulo.

Código VBA: converter em lote vários documentos do Word em arquivos PDF no 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. aperte o F5 chave para executar o código.

4. Uma caixa de diálogo de navegação aparecerá, selecione a pasta que contém os documentos do Word que você converterá em arquivos PDF e clique no botão OK botão.

Em seguida, todos os documentos do Word na pasta selecionada são convertidos em arquivos PDF separados de uma vez. Veja a imagem:


Converta em lote vários documentos do Word em arquivos PDF com o Kutools for Word

Se o código VBA for difícil de manusear, você pode tentar o Converter documentos utilidade de Kutools for Word para resolver o problema.

Kutools for Word : Com mais de 100 suplementos úteis do Word, grátis para experimentar sem limitação em 60 dias.

1. Clique Kutools Plus > Doc / Docx. Veja a imagem:

2. No Conversor de formato de documento janela, você precisa fazer o seguinte:

2.1) Selecione a pasta que contém os documentos que você converterá para pdf no Pasta do arquivo de origem seção;
2.2 Selecione Converter docx para pdf de Converter formato lista suspensa;
2.3) Por padrão, o Caminho de destino igual à origem caixa está marcada. Se você deseja colocar todos os arquivos PDF convertidos na mesma pasta, apenas mantenha esta opção selecionada;
Se você deseja separar os arquivos PDF e os documentos de origem, você precisa desmarcar a Caminho de destino igual à origem caixa e selecione uma nova pasta para salvar os arquivos PDF no salvar a caixa;
2.4) Clique no Iniciar botão. Veja a imagem:

3. Em seguida, uma caixa de diálogo aparecerá para informar quantos documentos foram convertidos com sucesso, clique no OK botão e feche o Conversor de formato de documento janela.

Agora, todos os documentos no formato .docx são convertidos em arquivos PDF.

Se você deseja ter um teste gratuito deste utilitário, vá para baixe gratuitamente o software primeiro e, em seguida, aplique a operação de acordo com as etapas acima.



Ferramentas de produtividade de palavras recomendadas

 

Kutools para Word - Mais de 100 recursos avançados para Word, economize 50% do tempo

  • Operações complicadas e repetidas podem ser executadas com processamento único em segundos.
  • Insira várias imagens em pastas em um documento do Word de uma vez.
  • Mescle e combine vários arquivos do Word em pastas em um na ordem desejada.
  • Divida o documento atual em documentos separados de acordo com o título, quebra de seção ou outros critérios.
  • Converta arquivos entre Doc e Docx, Docx e PDF, coleção de ferramentas para conversões e seleção comuns, e assim por diante ...

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