VSTO Word Editor没有看到mailItem书签

时间:2016-08-18 09:03:18

标签: c# vsto outlook-addin bookmarks mailitem

我正在创建Outlook加载项,在按下按钮后会在邮件中添加页脚。

我在bookItem.HtmlBody中显示的书签'_MailAutoSig'和'_MailOriginal'有问题(它包含''和'标签),但是当我在WordEditor中打开Mail时,它们根本就没有书签。

我使用以下cote来阅读电子邮件的内容:

private void logHtml_Click(object sender, RibbonControlEventArgs e)
{
    ILog log = LogManager.GetLogger("mailItem");
    log.Info(GetMailItem(e).HTMLBody);
}

private void logWord_Click(object sender, RibbonControlEventArgs e)
{
    ILog log = LogManager.GetLogger("WordDoc");
    Outlook.MailItem mailItem = null;

    mailItem = GetMailItem(e);

    if (mailItem != null)
    {
        Word.Document doc = mailItem.GetInspector.WordEditor as Word.Document;

        Word.Bookmarks bookmarks = doc.Content.Bookmarks;
        foreach (var bookmark in bookmarks)
        {
            log.Debug(bookmark.ToString());
        }
        log.Debug(doc.Bookmarks);
        log.Debug(doc.Content.Text);
    }
}

你可以告诉我,如果我做错了什么或者我应该怎样做以将带有书签的mailItem加载到Word.Document?

1 个答案:

答案 0 :(得分:0)

我设法发现在Outlook书签窗口中有show hidden选项需要检查以查看MailOriginal和MailAutoSig书签。

同样在加载项中,我需要在获取书签列表之前添加doc.Bookmarks.ShowHidden = true;以查看这两个隐藏的书签。

添加该行后,所有内容都正常显示。