C# 无法从另一个书签将文本正确插入书签

C# 无法从另一个书签将文本正确插入书签,c#,.net,winforms,ms-word,office-interop,C#,.net,Winforms,Ms Word,Office Interop,我正在编写一个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.Book

我正在编写一个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);
}
for(int i=1;i

通过这种方式解决了此问题。

“将新文本字符串指定给书签的Range.Text属性,该属性将自动删除书签。然后将书签重新添加到书签集合”,请参阅
                 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++;
                 }