以编程方式在Outlook 2013加载项中使用跟踪更改注释

时间:2013-04-17 17:45:53

标签: c# vsto ms-office outlook-addin outlook-2013

我开发了一个VSTO Outlook加载项,它使用Word的track changes comment functionality来突出显示电子邮件中的某些关键字。这在Outlook 2010中很有效,但在Outlook 2013中不起作用。当我尝试这样做时,我得到以下异常:

System.Runtime.InteropServices.COMException (0x800A11FD): This command is not available.
    at Microsoft.Office.Interop.Word.Comments.Add(Range Range, Object& Text)

这似乎意味着即使使用Word作为Outlook邮件编辑器,该功能也不可用。我通过验证注册表项HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Options\MailEditorPreference设置为0x00030001196609)进行了检查,这应该将Word设置为编辑器。

我知道微软改变了how comments work in Office 2013,但从用户的角度来看,功能基本相同。

有没有人能够了解为什么会发生这种情况,或者更重要的是修复或解决方法?

我的代码如下:

var document = Inspector.WordEditor as Word.Document;
foreach (Word.Paragraph paragraph in document.Paragraphs) {
    range = paragraph.Range;
    range.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    range.MoveStart(Word.WdUnits.wdCharacter, highlight.Start);
    range.MoveEnd(Word.WdUnits.wdCharacter, highlight.Length);
    var comment = range.Comments.Add(range, "Look at this word!");
}

0 个答案:

没有答案