ในบทความนี้เรายินดีที่จะแบ่งปันกับคุณ 2 วิธีในการรวมเอกสาร Word หลายชุดเข้าด้วยกันอย่างรวดเร็วผ่าน VBA
ใน Word มีคุณลักษณะที่มีอยู่แล้วภายในเริ่มต้นเพื่อช่วยให้ผู้ใช้รวมหรือรวมเอกสารหลายฉบับเป็นหนึ่งเดียว รายละเอียดอธิบายไว้ในบทความนี้: วิธีการรวมและรวมเอกสาร Word หลายรายการเป็นหนึ่งเดียว
ด้วยวิธีนี้คุณต้องคลิกสองสามครั้งและเนื้อหาของเอกสารถัดไปจะอยู่หลังเอกสารก่อนหน้านี้เสมอ ดังนั้นเราจึงต้องการเสนอวิธีที่รวดเร็วกว่าในการดำเนินการดังกล่าว
วิธีที่ 1: รวมเอกสารที่เลือกไว้เป็นหนึ่งเดียว
- อันดับแรกเลย ให้สร้างเอกสารเปล่าขึ้นมาใหม่
- ทริกเกอร์โปรแกรมแก้ไข VBA ใน Word โดยกด“ Alt + F11”
- จากนั้นคลิก "ปกติ"
- จากนั้นคลิก "แทรก"
- แล้วเลือก“ โมดูล”
- ดับเบิลคลิกที่โมดูลใหม่เพื่อเปิดพื้นที่แก้ไข
- วางมาโครต่อไปนี้ที่นั่น:
Sub MergeMultiDocsIntoOne()
Dim dlgFile As FileDialog
Dim nTotalFiles As Integer
Dim nEachSelectedFile As Integer
Set dlgFile = Application.FileDialog(msoFileDialogFilePicker)
With dlgFile
.AllowMultiSelect = True
If .Show <> -1 Then
Exit Sub
Else
nTotalFiles = .SelectedItems.Count
End If
End With
For nEachSelectedFile = 1 To nTotalFiles
Selection.InsertFile dlgFile.SelectedItems.Item(nEachSelectedFile)
If nEachSelectedFile < nTotalFiles Then
Selection.InsertBreak Type:=wdPageBreak
Else
If nEachSelectedFile = nTotalFiles Then
Exit Sub
End If
End If
Next nEachSelectedFile
End Sub
- จากนั้นคลิก“ Run” หรือกด“ F5”
- ตอนนี้ในหน้าต่าง“ เรียกดู” เลือกไฟล์หลาย ๆ ไฟล์โดยกด“ Ctrl” แล้วคลิก“ ตกลง”
- จากนั้นเนื้อหาทั้งหมดในไฟล์ที่เลือกจะถูกนำมารวมกันในเอกสารใหม่ โดยข้อความของแต่ละเอกสารจะเริ่มต้นในหน้าใหม่
หมายเหตุ:
ดังที่เราได้กล่าวไปแล้วมาโครนี้จะทำให้ข้อความของเอกสารแต่ละฉบับอยู่ในหน้าใหม่ แต่ถ้าคุณต้องการให้เชื่อมโยงกันคุณสามารถแก้ไขบรรทัดโค้ดบางบรรทัดในมาโครได้ เพียงแค่ค้นหาบรรทัด“ If nEachSelectedFile <nTotalFiles Then” ลบออกและหกบรรทัดถัดไปเช่นกัน
วิธีที่ 2: รวมเอกสารทั้งหมดในโฟลเดอร์ให้เป็นหนึ่งเดียว
ในกรณีที่คุณมีโฟลเดอร์ของไฟล์ที่จะรวมกันมาโครนี้จะทำงานได้อย่างสวยงาม
- เริ่มต้นด้วยการติดตั้งและเรียกใช้มาโครตามที่อธิบายไว้ในวิธีที่ 1
- จากนั้นแทนที่มาโครด้วยอันนี้:
Sub MergeFilesInAFolderIntoOneDoc()
Dim dlgFile As FileDialog
Dim objDoc As Document, objNewDoc As Document
Dim StrFolder As String, strFile As String
Set dlgFile = Application.FileDialog(msoFileDialogFolderPicker)
With dlgFile
If .Show = -1 Then
StrFolder = .SelectedItems(1) & "\"
Else
MsgBox ("No folder is selected!")
Exit Sub
End If
End With
strFile = Dir(StrFolder & "*.docx", vbNormal)
Set objNewDoc = Documents.Add
While strFile <> ""
Set objDoc = Documents.Open(FileName:=StrFolder & strFile)
objDoc.Range.Copy
objNewDoc.Activate
With Selection
.Paste
.InsertBreak Type:=wdPageBreak
.Collapse wdCollapseEnd
End With
objDoc.Close SaveChanges:=wdDoNotSaveChanges
strFile = Dir()
Wend
objNewDoc.Activate
Selection.EndKey Unit:=wdStory
Selection.Delete
End Sub
- เรียกใช้มาโครโดยคลิก "เรียกใช้"
- ถัดไปคุณจะเห็นหน้าต่าง "เรียกดู" เปิดอยู่ เลือกโฟลเดอร์ที่คุณจัดเก็บเอกสารทั้งหมด แล้วคลิก“ ตกลง”
ในทำนองเดียวกัน ข้อความในแต่ละเอกสารจะเริ่มต้นในหน้าใหม่ หากต้องการให้ข้อความเรียงต่อกัน ให้ค้นหาและลบโค้ดบรรทัด “.InsertBreak Type:=wdPageBreak”
ปกป้องเอกสาร Word ของคุณอย่างเหมาะสม
วิธีที่ดีที่สุดวิธีหนึ่งในการปกป้องเอกสาร Word ของคุณคือการสำรองข้อมูลเป็นประจำ ด้วยการสำรองข้อมูลในมือคุณจะไม่ต้องกลัวว่าข้อมูลจะสูญหาย นอกจากนี้ยังแนะนำให้ใช้เครื่องมือเพื่อ ซ่อม docx หากมีสิ่งใดสิ่งหนึ่งที่จะได้รับความเสียหาย
บทนำผู้เขียน:
Vera Chen เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ Excel เสียหาย และ pdf ซ่อมแซมผลิตภัณฑ์ซอฟต์แวร์ ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.


