2017-03-28 178 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 
相關問題