在Word中使用邮件合并功能时,可以选择直接打印结果或创建新文档。如果选择后一个选项,则生成的文档将包含通常会发送给打印机的所有信息。例如,如果您的合并文档是两页的字母,则结果文档中的每个字母都由分节符分隔。因此,如果要合并两页的字母和150个不同的地址,那么最终将得到一个300页的文档,其中包含150个分节符(每两页一个)。

对于某些人来说,如果您可以合并到单个文件,则将更有帮助。例如,在上述示例中,您可能需要150个单独的文档文件,每两页长。不幸的是,这不是使用Word的邮件合并功能时可用的选项之一。完成此任务的唯一答案是创建一个宏,该宏将基于合并的文档(上面提到的300页)占用每个部分并将其保存到自己的文档文件中。

如果您查看Microsoft的知识库,则会发现有一篇有关此问题的旧文章:

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

即使它是为Word 97编写的,本文中介绍的宏也可以在Word 2007和更高版本中正常工作。它允许您根据分节符将合并的文档分为单独的文件:

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是世界上最流行的文字处理软件。)本技巧(8435)适用于Microsoft Word 2007、2010和2013。您可以在此处为Word的较早菜单界面找到此技巧的版本:`link:/ word-Merging_to_Individual_Files [合并到单个文件]。