2016-02-01 39 views
1

我在寫一個Windows窗體應用程序,它必須在兩個文檔之間交換Word書籤的內容。無法正確地將文本插入到另一個書籤的書籤中

有兩個類似的文件(wordDocument和wordPattern)具有相似數量的書籤。我試試這個:

for (int i = 1; i <= wordDocument.Bookmarks.Count; i++) 
{ 
    object j = i; 

    wordDocument.Bookmarks.get_Item(ref j).Range.Text = wordPattern.Bookmarks.get_Item(ref j).Range.Text.ToString(); 
    //MessageBox.Show(wordDocument.Bookmarks[i].Range.Text); 
    //MessageBox.Show(wordPattern.Bookmarks[i].Range.Text); 
} 

但它不正確地完成任務。我的意思是,它以不正確的順序執行並刪除書籤。通過提供正確的方式來交換書籤中的文本來幫助我。

+0

「將newText字符串分配給書籤的Range.Text屬性,該屬性自動刪除書籤,然後將書籤重新添加到書籤集合」,請參閱https://msdn.microsoft.com/en-us /library/ad6ks7k0.aspx – romanoza

回答

1
    int count1 = 0; 
       int count2 = 0; 

       foreach (Word.Bookmark bookmark1 in wordDocument.Bookmarks) 
       { 
         Word.Range bmRange = bookmark1.Range; 
         //bmRange.Text = "заметка" + count1; 
         listOfRanges.Add(bmRange); 
         count1++; 
       } 

       foreach (Word.Bookmark bookmark2 in wordPattern.Bookmarks) 
       { 
         Word.Range mbRange = bookmark2.Range; 
         mbRange.Text = listOfRanges[count2].Text; 
         count2++; 
       } 

解決了這個問題。