c# - 在 Outlook 上下文菜单操作中读取 "active"邮件消息?

标签 c# visual-studio-2010 outlook outlook-addin mapi

您好,我正在尝试通过单击 Outlook 中的自定义按钮来阅读电子邮件内容。 即:右键单击邮件,然后在选定的邮件上单击自定义按钮 GoToApp 它应该读取邮件的所有内容,包括文本、附件信息以及纯文本和图像 我附上了 Outlook 页面的快照。

我试过了

Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();
Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");
Microsoft.Office.Interop.Outlook.MAPIFolder myInbox = mapiNameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders‌​.olFolderInbox);
if (myInbox.Items.Count > 0) {
    // Grab the Subject
    lblSubject.Text = ((Microsoft.Office.Interop.Outlook.MailItem)myInbox.Items[1]).Subject;
}

它不起作用,因为默认文件夹位置不存在邮件。

我怎样才能做到这一点,请帮忙。 enter image description here

谢谢 尼基尔

最佳答案

ItemContextMenuDisplay事件(右键单击时触发)有一个 Outlook.Selection对象作为第二个参数传入。

使用此选择来确定当前选定/事件的项目(如果有)。这些对象需要根据需要转换为 MailItem。 (请记住,Outlook 对象模型中的索引从 1 开始,而不是 0。)

无法确定右键单击的确切项目(可能选择了多个项目,也可能没有选择任何项目),但右键单击的项目执行的是所选项目之一。此外,当前在阅读 Pane 中的项目可能对应于所选项目。

祝你编码愉快。

关于c# - 在 Outlook 上下文菜单操作中读取 "active"邮件消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10425642/

相关文章:

c# - 了解 Ninject mvc 3 样板代码

c++ - 如何使用 scons 生成带有调试信息的 MSVC 解决方案?

c# - Outlook 2010 VSTO 加载项 : UI freezes randomly,,同时将文件夹异步添加到 PST

c# - 通过 C# 应用程序创建 Outlook 电子邮件草稿

php - Outlook - OAuth 2 - 无法检索访问 token ,不支持 grant_type=password,仅授权码和刷新 token

c# - LINQ 和 SQL 中看似等效的查询返回不同的结果

c# - 如何在 GCP Cloud Storage 中授予服务帐户 storage.buckets.create 权限?

c# - 将字符串值分配给枚举,然后按值查找枚举

C++ win32 更改轨迹栏背景颜色

c++ - 我有一个未声明的标识符错误,我无法弄清楚