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



我正试图通过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. 使用复制粘贴,类似

    // 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;

最新更新