Outlook 2013添加。从Outlook项目获取其他信息,并修改邮件正文

时间:2017-05-09 08:06:21

标签: c# contextmenu outlook-2013 mailitem

我正在为outlook创建添加,我需要从所选邮件中获取信息,例如'from'和'to',但我使用的outlook项目没有这些属性,我无法将outlook项目转换为interop邮件项目。

我如何检索该信息?

此外,我找不到如何将项目添加到邮件正文上下文菜单: mail body context menu

我需要在该菜单中添加和选项以捕获在邮件正文中选择的文本用户。

这引出了我的第三个问题,即如何实际获得用户的选择。

修改 我用来向文件夹上下文菜单添加选项的示例代码:

<contextMenu idMso="ContextMenuFolder">
  <button id="MyContextMenuFolder"
          label="ContextMenuFolder"
          onAction="OnMyButtonClick" />

对于选定的项目上下文菜单:

<contextMenu idMso="ContextMenuMailItem">
  <button id="MyContextMenuMailItem"
          label="ContextMenuMailItem"
          onAction="OnMyButtonClick"/>

我在邮件正文上下文菜单中需要相同的东西,但我找不到它的idMso,流畅的UI文档非常混乱,我找不到我在那里寻找的东西,我也不知道是否那样是正确的方法。

此外,这是我获取所选项目(邮件)的地方:

public void OnMyButtonClick(Office.IRibbonControl control)
        {
            string msg = string.Empty;
            if (control.Context is Outlook.Selection)
            {
                msg = "Context=Selection" + "\n";
                Outlook.Selection selection =
                    control.Context as Outlook.Selection;
                if (selection.Count == 1)
                {
                    var olItem =
                        new OutlookItem(selection[1]);
                    msg = msg + olItem.Subject
                        + "\n" + olItem.LastModificationTime;
                }
            }
        }

但是OutlookItem不包含我需要的信息,是否可以将其转换为MailItem对象,或以某种方式从中提取更多信息?

谢谢!

P.S。我想发布更多我正在谈论的图片,但该网站不允许我,因为我没有足够的声誉点。

0 个答案:

没有答案