Selles artiklis on meil hea meel jagada teiega kahte võimalust, kuidas VBA kaudu kiiresti mitu Wordi dokumenti üheks liita.
Wordis on vaikimisi sisseehitatud funktsioon, mis aitab kasutajal mitut dokumenti üheks kombineerida või liita. Üksikasju selgitatakse selles artiklis: Kuidas ühendada ja liita mitu Wordi dokumenti üheks
Selle meetodi puhul tuleb teha paar klõpsu ja järgmise dokumendi sisu tuleb alati kohe pärast eelmise dokumendi sisu. Seetõttu tahame teile pakkuda kiiremaid viise seda teha.
1. meetod: ühendage valitud dokumendid üheks
- Esiteks ja kõige tähtsam on luua uus tühi dokument.
- Käivitage Wordis VBA redaktor, vajutades "Alt + F11".
- Järgmisena klõpsake nuppu "Tavaline".
- Seejärel klõpsake nuppu "Sisesta".
- Ja valige "Moodul".
- Redigeerimisruumi avamiseks topeltklõpsake uuel moodulil.
- Kleepige sinna järgmine makro:
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
- Järgmisena klõpsake nuppu "Käivita" või "F5".
- Nüüd valige aknas "Sirvi" mitu faili, vajutades "Ctrl" ja klõpsake "OK".
- Seejärel liidetakse uues dokumendis kokku kõik valitud failide sisud, kusjuures iga dokumendi tekstid algavad uuelt lehelt.
Märge:
Nagu me mainisime, asetab see makro iga dokumendi tekstid uuele lehele. Kuid kui teil on vaja, et need oleksid üksteise järel, saate makro mõnda koodirida muuta. Lihtsalt leidke rida "If nEachSelectedFile < nTotalFiles Then", kustutage see ja ka järgmised kuus rida.
2. meetod: ühendage kõik kaustas olevad dokumendid üheks
Kui teil on kombineeritavate failide kaust, töötab see makro ilusti.
- Alustamiseks installige ja käivitage makro, nagu on kirjeldatud meetodis 1.
- Seejärel asendage makro järgmisega:
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äivitage makro, klõpsates nuppu "Käivita".
- Järgmisena näete akent "Sirvi". Valige kaust, kuhu kõik dokumendid salvestate. Ja klõpsake "OK".
Samamoodi algavad iga dokumendi tekstid uuelt lehelt. Nende üksteise järel kokkukleepimiseks leidke ja kustutage koodirida „.InsertBreak Type:=wdPageBreak”.
Kaitske oma Wordi dokumenti korralikult
Üks parimaid viise oma Wordi dokumentide kaitsmiseks on nende regulaarne varundamine. Kui varukoopiad on käes, ei pea te kunagi kartma andmete kadumist. Lisaks on soovitatav hankida ka tööriist remont docx kui mõni neist saab kahjustada.
Autori sissejuhatus:
Vera Chen on andmete taastamise ekspert DataNumen, Inc., mis on maailmas juhtiv andmete taastamise tehnoloogiate, sealhulgas kahjustatud Excel ja pdf tarkvaratooted. Lisateabe saamiseks külastage www.datanumenCom


