【发布时间】:2009-03-27 10:54:52
【问题描述】:
我有一个 Word 2007 文档,我想将现有的 Word 文档插入其中 - 同时保留两个文档的页眉/页脚、图形、边框等。
我正在使用 C# 中的 Word API 执行此操作。
听起来很简单,我的意思是你肯定只使用“InsertFile”方法...... 除了在 Word 2007 中,“插入文件”功能现在实际上是“从文件中插入文本”,它就是这样做的 - 省略了页面边框、图形和页脚等。
好吧,我将使用复制和粘贴来代替,就像这样......
_Document sourceDocument = wordApplication.Documents.Open(insert the 8 million by ref parameters Word requries)
sourceDocument.Activate(); // This is the document I am copying from
wordApplication.Selection.WholeStory();
wordApplication.Selection.Copy();
targetDocument.Activate(); // This is the document I am pasting into
wordApplication.Selection.InsertBreak(wdSectionBreakNextPage);
Selection.PasteAndFormat(wdFormatOriginalFormatting);
wordApplication.Selection.InsertBreak(wdSectionBreakNextPage);
它会执行您所期望的操作,获取源文档,选择所有内容,复制它然后将其粘贴到目标文档中。因为我在粘贴之前添加了分节符,所以它还保留了两个文档的边框、页眉/页脚。
但是 - 现在这是我遇到问题的地方。如果我在 end 粘贴,则粘贴仅包括边框、标题等的目标文件。如果我将它粘贴在中间 - 尽管前面有分节符,那么只有文本被粘贴并且标题和边框等会丢失。
【问题讨论】:
-
如果完全可以选择 OpenXML 路线,请查看 blogs.msdn.com/brian_jones/archive/2010/02/26/… 和此处的 合并多个 Word 文档部分 msdn.microsoft.com/en-us/library/dd469465.aspx