将文本从一个书签复制到另一个书签时不保留格式

时间:2013-07-24 04:42:26

标签: c# .net ms-word

我正在尝试通过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;

我如何复制格式呢?

1 个答案:

答案 0 :(得分:1)

您有两种选择:

  1. 使用复制和粘贴,例如

    // Copy
    Document1.Bookmarks.get_Item(ref objI).Range.Copy();
    
    // Paste
    objWordDoc1.Bookmarks.get_Item(booktest).Range.PasteAndFormat(WdRecoveryType.wdFormatOriginalFormatting);
    
  2. 使用格式化文本属性(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;