您好,我正在尝试通过单击 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;
}
它不起作用,因为默认文件夹位置不存在邮件。
我怎样才能做到这一点,请帮忙。
谢谢 尼基尔
最佳答案
在 ItemContextMenuDisplay事件(右键单击时触发)有一个 Outlook.Selection对象作为第二个参数传入。
使用此选择来确定当前选定/事件的项目(如果有)。这些对象需要根据需要转换为 MailItem
。 (请记住,Outlook 对象模型中的索引从 1 开始,而不是 0。)
无法确定右键单击的确切项目(可能选择了多个项目,也可能没有选择任何项目),但右键单击的项目执行的将是所选项目之一。此外,当前在阅读 Pane 中的项目可能不对应于所选项目。
祝你编码愉快。
关于c# - 在 Outlook 上下文菜单操作中读取 "active"邮件消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10425642/