Samenvoegen van afzonderlijke bestanden

Wanneer u de mail-merge in Word te gebruiken, hebt u de keuze uit of het afdrukken van uw resultaten direct of een nieuw document maken. Als u kiest voor de laatste optie, het resulterende document bevat alle informatie die normaal gesproken naar de printer zou zijn gegaan. Bijvoorbeeld, als je merge document is een twee pagina's lange brief, elke letter in het resulterende document wordt gescheiden door een sectie-einde. Dus, als je het samenvoegen van de twee pagina's lange brief met 150 verschillende adressen, dan zou je eindigen met een 300-pagina's tellende document met 150 sectie-einden (één per twee pagina's).

Voor sommige mensen, zou het nuttig zijn als je zou kunnen samenvoegen om individuele bestanden. Bijvoorbeeld, gezien het bovenstaande voorbeeld wilt u misschien 150 individueel document-bestanden, elk twee pagina's lang. Helaas, dat is niet een van de opties die beschikbaar zijn bij het gebruik van Word mail-merge-functie. Het enige antwoord op het vervullen van deze taak is om een ​​macro die zal, op basis van het samengevoegde document (de 300-pagina hierboven vermeld) neemt elke sectie en sla het op zijn eigen document-bestand te maken.

Als je kijkt in de Microsoft Knowledge Base, vindt u dat er een oud artikel dat zich bezighoudt met deze zeer kwestie:

http://support.microsoft.com/kb/216201

De macro gepresenteerd in het artikel, ook al is het voor Word 97 is geschreven, zal prima werken in Word 2007 en latere versies. Hiermee kunt u een samengevoegd document te scheiden in afzonderlijke bestanden, op basis van de sectie-einden:

Sub BreakOnSection ()
'Wordt gebruikt om criteria vast te stellen voor het verplaatsen door het document voor sectie.
Application.Browser.Target = wdBrowseSection

'Een mailmerge document eindigt met een sectie-einde volgende pagina.
'Aftrekken een uit de sectie telling stop foutmelding.
Voor i = 1 To ((ActiveDocument.Sections.Count) - 1)

'Kies en de sectie tekst te kopiëren naar het klembord
ActiveDocument.Bookmarks ("\ Section"). Range.Copy

Een nieuw document om tekst te plakken vanaf het klembord 'Create.
Documents.Add
Selection.Paste

"Verwijdert de pauze die wordt gekopieerd aan het einde van de sectie, indien aanwezig.
Selection.MoveUp Unit: = wdLine, Count: = 1, Extend: = wdExtend
Selection.Delete Unit: = wdCharacter, Count: = 1

ChangeFileOpenDirectory "C: \"
DocNum = DocNum + 1
ActiveDocument.SaveAs FileName: = "test_" & DocNum & ".doc"
ActiveDocument.Close
'Verplaats de selectie naar de volgende sectie in het document
Application.Browser.Next
Volgende i
ActiveDocument.Close SaveChanges: = wdDoNotSaveChanges
End Sub

Het is belangrijk om te beseffen echter dat deze macro alleen werkt als de enige plaats die sectie-einden voor is tussen de samengevoegde documenten. Als uw originele document bevat sectie-einden, dan is de macro zal geen bevredigende resultaten. Voor aanvullende informatie over het gebruik van de macro, verwijzen naar het Knowledge Base-artikel op de hierboven voorzien verbinding.

WordTips is uw bron voor kosteneffectieve Microsoft Word training. (Microsoft Word is de meest populaire tekstverwerker in de wereld.) Deze tip (8435) is van toepassing op Microsoft Word 2007, 2010 en 2013. U kunt een versie van deze tip voor de oudere menu-interface van Word hier vinden: samenvoegen tot individuele bestanden.