使用样式将Word文档中的内容复制到另一个文档

时间:2017-03-28 09:02:29

标签: c# ms-word vsto

我想将Word文档中某个部分的内容复制到新文档中。

我这样做是为了复制:

var docPath = @"C:\temp\myDoc.docx";
var doc = word.Documents.Open(FileName: docPath, ReadOnly: true);
var emptyDoc = word.Documents.Add();

doc.Sections.First.Range.Copy();
emptyDoc.Sections.First.Range.Paste();

这适用于复制内容,但风格不一样。如何复制完整部分并使其在新文档中以完全相同的方式呈现?

如果有一个更好的解决方案涉及OpenXML SDK而不是VSTO,我可以接受它。

1 个答案:

答案 0 :(得分:0)

如果您先手动执行操作,您会发现自动化Word要容易得多。通过这种方式,您可以更好地了解各种可用选项等。您还可以录制一个宏,这通常会(尽管不总是)提供答案。

在这种情况下,您需要从粘贴后显示的上下文工具栏中自动选择“保持源格式”。您需要的代码是:

emptyDoc.Sections.First.Range.PasteAndFormat wdFormatOriginalFormatting