I den här artikeln är vi glada att dela med dig två sätt att snabbt slå samman flera Word-dokument till ett via VBA.
I Word finns det den inbyggda standardfunktionen som hjälper användaren att kombinera eller slå samman flera dokument i ett. Detaljer förklaras i den här artikeln: Hur man kombinerar och sammanfogar flera orddokument till ett
Med den metoden måste du göra ett par klick och innehållet i nästa dokument kommer alltid direkt efter det förra. Därför vill vi erbjuda dig snabbare sätt att göra det.
Metod 1: Slå samman valda dokument till ett
- Först och främst, skapa ett nytt tomt dokument.
- Utlös VBA-redigerare i Word genom att trycka på “Alt + F11”.
- Klicka sedan på “Normal”.
- Klicka sedan på "Infoga".
- Och välj ”Modul”.
- Dubbelklicka på den nya modulen för att öppna redigeringsutrymmet.
- Klistra in följande makro där:
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
- Klicka sedan på "Kör" eller tryck på "F5".
- I fönstret "Bläddra" väljer du flera filer genom att trycka på "Ctrl" och klicka på "OK".
- Sedan kommer allt innehåll i valda filer att sättas ihop i det nya dokumentet, med texter från varje dokument som börjar på en ny sida.
Obs:
Som vi nämnde lägger detta makro texter till varje dokument på en ny sida. Men om du behöver att de ska vara efter varandra kan du ändra några kodrader i makrot. Hitta bara raden "If nEachSelectedFile <nTotalFiles Then", ta bort den och de närmaste sex raderna också.
Metod 2: Slå samman alla dokument i en mapp till en
Om du har en mapp med filer som ska kombineras, ska detta makro fungera vackert.
- För att börja, installera och kör makrot enligt beskrivningen i metod 1.
- Ersätt sedan makro med det här:
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
- Kör makrot genom att klicka på "Kör".
- Därefter visas fönstret "Bläddra" öppet. Välj den mapp där du lagrar alla dokument. Och klicka på “OK”.
På samma sätt börjar texterna i varje dokument på en ny sida. För att få dem att fästa ihop efter varandra, sök efter och radera kodraden ".InsertBreak Type:=wdPageBreak".
Skydda ditt Word-dokument ordentligt
Ett av de bästa sätten att skydda dina Word-dokument är att säkerhetskopiera dem regelbundet. Med säkerhetskopior i handen behöver du aldrig frukta förlust av data. Dessutom är det också tillrådligt att få ett verktyg till reparera docx om någon av dem ska skadas.
Författarintroduktion:
Vera Chen är en dataåterställningsexpert i DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive skadad Excel och pdf reparera programvaruprodukter. För mer information besök www.datanumen.com


