2017-03-28 103 views
0

我想将Word文档中某节的内容复制到新文档中。将内容从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的更好的解决方案,我可以采用它。

+0

也许您需要以某种方式复制样式定义? – Jbjstam

+0

也许,但我不知道该怎么做。我不明白我如何复制doc.Styles或doc.StyleSheets – glacasa

+0

是的,我不知道如何知道这一点。也许.PasteSpecial()与wdPasteRTF或wdPasteHTML? https://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.wdpastedatatype.aspx – Jbjstam

回答

0

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

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

emptyDoc.Sections.First.Range.PasteAndFormat wdFormatOriginalFormatting 
相关问题