嗨,我正在尝试阅读电子邮件内容点击自定义按钮在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;
}
位,它不工作,它是编码邮件不在那里的默认文件夹位置。
我怎样才能做到这一点请帮帮忙。
谢谢尼基尔
发布于 2012-05-03 05:48:26
在ItemContextMenuDisplay事件(在右击中触发)中,有一个Outlook.Selection对象作为第二个参数传入。
使用此选择确定当前选定的/活动项(如果有的话)。需要酌情将对象转换为MailItem
。(记住,Outlook对象模型中的索引从1开始,而不是0。)
不可能确定右键单击所执行的确切项(可能有多个项被选中或没有选择项),但右击所执行的项目将是所选项中的一个。此外,当前在“阅读”窗格中的项可能与选定的项不相对应。
编码愉快。
发布于 2017-07-29 16:13:36
这是MailItem上下文菜单中自定义带状按钮的条带回调。
public void BtnClickHandler(Office.IRibbonControl btn)
{
var ex = btn?.Context?.Parent as Outlook.Explorer;
if (ex == null) return;
foreach (var sel in ex.Selection)
{
var mailItem = sel as Outlook.MailItem;
if (mailItem != null) DoSomethingWith(mailItem);
}
}
https://stackoverflow.com/questions/10425642
复制相似问题