2013-07-24 37 views
0

我試圖將文本從一個Word文檔複製到通過C#代碼動態使用書籤的另一個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

這兩個文檔是否同時打開?是否使用剪貼板確定執行此任務(如複製和粘貼)? – Vadim

+0

亞第一..打開源文件,將文本從書籤複製到變量...然後打開目標文件並插入文本... – user2586782

回答

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;

+0

嗨Vadim .....感謝您的回覆....但其不工作....通過使用上面的代碼..不復制文本..而是它複製一些垃圾文本... – user2586782

+0

該代碼旨在成爲如何做到這一點的例子。我已經將它修改爲應該可以工作的東西。讓我知道它沒關係。 – Vadim

相關問題