我正试图通过C#代码动态地使用书签将文本从一个Word文档复制到另一个Word文件。我只能从一个文档的书签中检索数据,并将其插入到另一个文档中,但文本的格式正在更改。
例如,如果我在源文档书签中添加了一些颜色、字体,则不会将相同的格式复制到目标文档的书签中;只复制文本。
//getting the text from source documents bookmark.
string text = Document1.Bookmarks.get_Item(ref objI).Range.Text.ToString();
//copying the text to Document 2's bookmark
objWordDoc1.Bookmarks.get_Item(booktest).Range.Text = text;
我怎样才能复制格式?
您有两个选项:
-
使用复制粘贴,类似
// Copy Document1.Bookmarks.get_Item(ref objI).Range.Copy(); // Paste objWordDoc1.Bookmarks.get_Item(booktest).Range.PasteAndFormat(WdRecoveryType.wdFormatOriginalFormatting);
-
使用格式化文本属性(http://msdn.microsoft.com/de-de/library/microsoft.office.interop.word.range.formattedtext(v=office.11).aspx。(我没有测试这个)
Range text = Document1.Bookmarks.get_Item(ref objI).Range.FormattedText; objWordDoc1.Bookmarks.get_Item(booktest).Range = FormattedText;