В тази статия се радваме да споделим с вас 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“ и щракнете върху „OK“.
- След това цялото съдържание в избраните файлове ще бъде обединено в новия документ, като текстовете на всеки документ ще започват на нова страница.
Забележка:
Както споменахме, този макрос поставя текстове от всеки документ на нова страница. Но ако имате нужда те да бъдат един след друг, можете да промените някои кодови редове в макроса. Просто намерете реда „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
- Стартирайте макроса, като щракнете върху „Изпълни“.
- След това виждате отворен прозорец „Преглед“. Изберете папката, в която съхранявате всички документи. И щракнете върху „OK“.
По подобен начин, текстовете на всеки документ започват на нова страница. За да ги слепите един след друг, намерете и изтрийте реда с код „.InsertBreak Type:=wdPageBreak“.
Защитете документа си Word правилно
Един от най-добрите начини да защитите вашите документи на Word е да ги архивирате редовно. С архиви в ръка никога няма да се наложи да се страхувате от загубата на данни. Освен това е препоръчително и да се сдобиете с инструмент ремонт docx ако някой от тях бъде повреден.
Въведение на автора:
Вера Чен е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително повреден Excel и pdf ремонт на софтуерни продукти. За повече информация посетете WWW.datanumen.com


