合并到单个文件(Microsoft Word)
在Word中使用邮件合并功能时,可以选择直接打印结果或创建新文档。如果选择后一个选项,则生成的文档将包含通常应发送给打印机的所有信息。例如,如果您的合并文档是两页的字母,则结果文档中的每个字母都由分节符分隔。因此,如果您将两页字母与150个不同的地址合并在一起,那么最终将得到一个300页的文档,其中包含150个分节符(每两页一个)。
对于某些人来说,如果您可以合并到单个文件,则将更有帮助。例如,在上述示例中,您可能需要150个单独的文档文件,每两页长。不幸的是,这不是使用Word的邮件合并功能时可用的选项之一。完成此任务的唯一答案是创建一个宏,该宏将基于合并的文档(上面提到的300页)占用每个部分并将其保存到自己的文档文件中。
如果您查看Microsoft的知识库,则会发现有一篇有关此问题的旧文章:
http://support.microsoft.com/kb/216201
本文中介绍的宏,即使它是为Word的较旧版本编写的,在以后的版本中也可以正常工作。它允许您根据分节符将合并的文档分为单独的文件:
Sub BreakOnSection() 'Used to set criteria for moving through the document by section. Application.Browser.Target = wdBrowseSection 'A mailmerge document ends with a section break next page. 'Subtracting one from the section count stop error message. For i = 1 To ((ActiveDocument.Sections.Count) - 1) 'Select and copy the section text to the clipboard ActiveDocument.Bookmarks("\Section").Range.Copy 'Create a new document to paste text from clipboard. Documents.Add Selection.Paste 'Removes the break that is copied at the end of the section, if any. 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 'Move the selection to the next section in the document Application.Browser.Next Next i ActiveDocument.Close savechanges:=wdDoNotSaveChanges End Sub
但是,重要的是要意识到,只有在合并文档之间出现分节符的唯一位置时,此宏才起作用。如果您的原始文档包含分节符,则该宏将无法提供令人满意的结果。有关使用宏的其他信息,请参阅上面提供的链接上的知识库文章。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(1538)适用于Microsoft Word 97、2000、2002和2003。您可以在Word(Word 2007)的功能区界面中找到此技巧的版本。和更高版本)在这里: