2017-03-28 14 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(); 

は、これは、コンテンツをコピーするだけでなく動作しますが、スタイルは同じではありません。完全なセクションをコピーして、それを新しい文書でまったく同じ方法でレンダリングするにはどうすればよいですか?

VSTOの代わりにOpenXML SDKを使用したほうがよい解決策がある場合は、それを取ることができます。

+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 
関連する問題