Note: The other languages of the website are Google-translated. Back to English
ล็อกอิน  \/ 
x
or
x
สมัครสมาชิก  \/ 
x

or

วิธีการแปลงชุดเอกสาร Word เป็นไฟล์ pdf

ง่ายสำหรับคุณในการแปลงเอกสาร Word เป็นไฟล์ PDF ด้วยฟังก์ชันบันทึกเป็นใน Word แต่ถ้าคุณต้องการแปลงเอกสาร Word ทั้งหมดในโฟลเดอร์เพื่อแยกไฟล์ PDF พร้อมกันคุณจะทำได้อย่างไร? บทความนี้จะแสดงรหัส VBA เพื่อแปลงเอกสาร Word หลายชุดเป็นไฟล์ PDF ใน Word

Batch แปลงเอกสาร Word หลายไฟล์เป็นไฟล์ pdf ด้วย VBA
Batch แปลงเอกสาร Word หลายไฟล์เป็นไฟล์ pdf ด้วย Kutools for Word


Batch แปลงเอกสาร Word หลายไฟล์เป็นไฟล์ pdf ด้วย VBA

รหัส VBA ต่อไปนี้ช่วยให้คุณแปลงเอกสาร Word ทั้งหมดในโฟลเดอร์เป็นไฟล์ pdf ในคราวเดียวได้อย่างรวดเร็ว กรุณาดำเนินการดังนี้

1. ใน Word ให้กดปุ่ม อื่น ๆ + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 ใน Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างคลิก สิ่งที่ใส่เข้าไป > โมดูลจากนั้นคัดลอกโค้ด VBA ด้านล่างลงในหน้าต่างโมดูล

รหัส VBA: Batch แปลงเอกสาร Word หลายไฟล์เป็นไฟล์ pdf ใน 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 กด F5 กุญแจสำคัญในการเรียกใช้รหัส

4. กล่องโต้ตอบเรียกดูจะปรากฏขึ้นโปรดเลือกโฟลเดอร์ที่มีเอกสาร Word ที่คุณจะแปลงเป็นไฟล์ pdf แล้วคลิกไฟล์ OK ปุ่ม

จากนั้นเอกสาร Word ทั้งหมดในโฟลเดอร์ที่เลือกจะถูกแปลงเป็นไฟล์ pdf แยกกันพร้อมกัน ดูภาพหน้าจอ:


Batch แปลงเอกสาร Word หลายไฟล์เป็นไฟล์ pdf ด้วย Kutools for Word

หากรหัส VBA จัดการได้ยากคุณสามารถลองใช้ไฟล์ แปลงเอกสาร ประโยชน์ของ Kutools สำหรับ Word เพื่อแก้ปัญหา

Kutools สำหรับ Word : ด้วยโปรแกรมเสริม Word ที่มีประโยชน์มากกว่า 100 รายการ ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ภายใน 60 วัน.

1 คลิก Kutools Plus > เอกสาร / Docx. ดูภาพหน้าจอ:

2 ใน ตัวแปลงรูปแบบเอกสาร หน้าต่างคุณต้องทำดังนี้:

2.1) เลือกโฟลเดอร์ที่มีเอกสารที่คุณจะแปลงเป็น pdf ในไฟล์ โฟลเดอร์ซอร์สไฟล์ มาตรา;
2.2 เลือก แปลง docx เป็น pdf จาก แปลงรูปแบบ รายการแบบหล่นลง
2.3) โดยค่าเริ่มต้นไฟล์ เส้นทางปลายทางเหมือนกับต้นทาง เลือกช่องแล้ว หากคุณต้องการวางไฟล์ pdf ที่แปลงแล้วทั้งหมดในโฟลเดอร์เดียวกันให้เลือกตัวเลือกนี้ไว้
หากคุณต้องการแยกไฟล์ pdf และเอกสารต้นทางคุณต้องยกเลิกการเลือกไฟล์ เส้นทางปลายทางเหมือนกับต้นทาง แล้วเลือกโฟลเดอร์ใหม่เพื่อบันทึกไฟล์ pdf ในรูปแบบ บันทึกลง กล่อง;
2.4) คลิกปุ่ม เริ่มต้น ปุ่ม. ดูภาพหน้าจอ:

3. จากนั้นกล่องโต้ตอบจะปรากฏขึ้นเพื่อแจ้งให้คุณทราบว่ามีการแปลงเอกสารสำเร็จแล้วให้คลิกที่ไฟล์ OK และปิดปุ่ม ตัวแปลงรูปแบบเอกสาร หน้าต่าง

ตอนนี้เอกสารรูปแบบ. docx ทั้งหมดถูกแปลงเป็นไฟล์ pdf

หากคุณต้องการทดลองใช้ยูทิลิตีนี้ฟรีโปรดไปที่ ดาวน์โหลดซอฟต์แวร์ฟรี ก่อนแล้วไปใช้การดำเนินการตามขั้นตอนข้างต้น


เครื่องมือเพิ่มประสิทธิภาพคำแนะนำ

 

Kutools For Word - มากกว่า 100 คุณลักษณะขั้นสูงสำหรับ Word ประหยัดเวลา 50% ของคุณ

  • การดำเนินการที่ซับซ้อนและซ้ำ ๆ สามารถดำเนินการครั้งเดียวในไม่กี่วินาที
  • แทรกภาพหลาย ๆ โฟลเดอร์ลงในเอกสาร Word พร้อมกัน
  • ผสานและรวมไฟล์ Word หลาย ๆ ไฟล์ในโฟลเดอร์เข้าด้วยกันตามลำดับที่คุณต้องการ
  • แยกเอกสารปัจจุบันออกเป็นเอกสารแยกตามหัวข้อตัวแบ่งส่วนหรือเกณฑ์อื่น ๆ
  • แปลงไฟล์ระหว่าง Doc และ Docx, Docx และ PDF ชุดเครื่องมือสำหรับการแปลงและการเลือกทั่วไปและอื่น ๆ ...
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 · 4 months ago
    VBA 很棒!!感謝您的分享。
  • To post as a guest, your comment is unpublished.
    K DEG · 5 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 · 5 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 · 5 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 · 6 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