我正在尝试通过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;
我如何复制格式呢?
答案 0 :(得分:1)
您有两种选择:
使用复制和粘贴,例如
// 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;