Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
S’enregistrer  \/ 
x

or

Comment convertir par lots plusieurs documents Word en fichiers PDF?

Il est facile pour vous de convertir un document Word en fichier PDF avec la fonction Enregistrer sous de Word. Mais si vous souhaitez convertir tous les documents Word d'un dossier en fichiers PDF séparés en même temps, comment pouvez-vous y parvenir? Cet article vous montrera un code VBA pour convertir par lots plusieurs documents Word en fichiers PDF dans Word.

Conversion par lots de plusieurs documents Word en fichiers PDF avec VBA
Convertissez par lots plusieurs documents Word en fichiers PDF avec Kutools for Word


Conversion par lots de plusieurs documents Word en fichiers PDF avec VBA

Le code VBA suivant vous aide à convertir rapidement tous les documents Word d'un dossier en fichiers PDF à la fois. Veuillez faire comme suit.

1. Dans Word, appuyez sur le autre + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. dans le Microsoft Visual Basic pour applications fenêtre, cliquez sur insérer > Module, puis copiez ci-dessous le code VBA dans la fenêtre Module.

Code VBA: convertir par lots plusieurs documents Word en fichiers PDF dans 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. appuie sur le F5 clé pour exécuter le code.

4. Une boîte de dialogue Parcourir apparaît, sélectionnez le dossier contenant les documents Word que vous allez convertir en fichiers pdf, puis cliquez sur le bouton OK .

Ensuite, tous les documents Word du dossier sélectionné sont convertis en fichiers PDF séparés à la fois. Voir la capture d'écran:


Convertissez par lots plusieurs documents Word en fichiers PDF avec Kutools for Word

Si le code VBA est difficile à gérer, vous pouvez essayer le Convertir des documents utilité de Kutools pour Word résoudre le problème.

Kutools pour Word : Avec plus de 100 compléments Word pratiques, gratuit pour essayer sans limitation dans 60 jours.

1. Cliquez Kutools Plus > Doc / Docx. Voir la capture d'écran:

2. dans le Convertisseur de format de document fenêtre, vous devez procéder comme suit:

2.1) Sélectionnez le dossier contenant les documents que vous allez convertir en pdf dans le Dossier de fichiers source section;
2.2 Sélectionnez Convertir docx en pdf du Conversion de format la liste déroulante;
2.3) Par défaut, le Chemin de destination identique à la source la case est cochée. Si vous souhaitez placer tous les fichiers PDF convertis dans le même dossier, gardez simplement cette option sélectionnée;
Si vous souhaitez séparer les fichiers pdf et les documents source, vous devez décocher la case Chemin de destination identique à la source et sélectionnez un nouveau dossier pour enregistrer les fichiers pdf dans le Ajouter à la boîte;
2.4) Cliquez sur le Démarrer bouton. Voir la capture d'écran:

3. Ensuite, une boîte de dialogue apparaît pour vous dire combien de documents ont été convertis avec succès, cliquez sur le OK et fermez le Convertisseur de format de document fenêtre.

Désormais, tous les documents au format .docx sont convertis en fichiers pdf.

Si vous souhaitez avoir un essai gratuit de cet utilitaire, rendez-vous sur télécharger gratuitement le logiciel d'abord, puis appliquez l'opération selon les étapes ci-dessus.



Outils de productivité Word recommandés

 

Kutools For Word - Plus de 100 fonctionnalités avancées pour Word, économisez 50% de votre temps

  • Les opérations compliquées et répétées peuvent être effectuées une seule fois en quelques secondes.
  • Insérez simultanément plusieurs images dans des dossiers dans un document Word.
  • Fusionner et combiner plusieurs fichiers Word dans des dossiers en un seul avec l'ordre souhaité.
  • Divisez le document actuel en documents séparés selon l'en-tête, le saut de section ou d'autres critères.
  • Convertissez des fichiers entre Doc et Docx, Docx et PDF, collection d'outils pour les conversions et la sélection courantes, etc.

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 · 9 days ago
    VBA 很棒!!感謝您的分享。
  • To post as a guest, your comment is unpublished.
    K DEG · 29 days 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 · 1 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 · 1 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 · 2 months ago
    Change
     xIndex = InStr(xFileName, ".") + 1


  • To post as a guest, your comment is unpublished.
    San · 9 months ago
    The VBA code is great. Cheers ,ate
  • To post as a guest, your comment is unpublished.
    Doris · 10 months 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 · 9 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 · 1 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 · 1 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