【发布时间】:2015-02-26 06:46:20
【问题描述】:
由于 URL 中可以包含书签,因此我想将文档中的所有 cmets 转换为书签。
我编写了一个 c# 应用程序,它在 Web 浏览器的 activex 控件中显示 Microsoft Word 文档。我得到了文档的句柄,并且能够枚举 cmets。但是当我尝试在评论位置插入书签时,我最终会得到不指向任何内容的 NULL 书签,例如:
void ButtonConvertCommentsClick(object sender, EventArgs e)
{
Word.Comments wordComments = this.wordDoc.Comments;
MessageBox.Show("This document has " + wordComments.Count + " comments.");
for (int n = 1; n <= wordComments.Count; n++)
{
Word.Comment comment = this.wordDoc.Comments[n];
Word.Range range = comment.Range;
String commentText = comment.Range.Text;
this.wordDoc.Application.ActiveDocument.Bookmarks.Add("BOOKMARK"+n, range);
}
this.wordDoc.Save();
....
}
假设文档中有 3 个 cmets,“BOOKMARK1”、“BOOKMARK2”和“BOOKMARK3”会显示在书签列表中,但“转到...”按钮对所有这些都禁用。
我做错了什么?
【问题讨论】:
-
如果我将此代码粘贴到 word2010 的应用级插件 (vsto) 中,它可以正常工作。