【发布时间】:2013-02-07 10:13:57
【问题描述】:
我要访问 Outlook MAPI 文件夹并获取邮件地址。这是我的方法
public static string GetSenderEmailAddress(Microsoft.Office.Interop.Outlook.MailItem mapiObject)
{
Microsoft.Office.Interop.Outlook.PropertyAccessor oPA;
string propName = "http://schemas.microsoft.com/mapi/proptag/0x0065001F";
oPA = mapiObject.PropertyAccessor;
string email = oPA.GetProperty(propName).ToString();
return email;
}
当调用按钮单击事件时,我需要触发该方法并检索邮件地址。
按钮点击事件来了。
private void button3_Click(object sender, RibbonControlEventArgs e)
{
string mailadd = ThisAddIn.GetSenderEmailAddress(Microsoft.Office.Interop.Outlook.MailItem);
System.Windows.Forms.MessageBox.Show(mailadd);
}
此处出现错误
Microsoft.Office.Interop.Outlook.MailItem 是一个在给定上下文中无效的“类型”
这是我的第一个插件,有谁知道如何实现这个结果?
【问题讨论】:
-
您确定 MailItem 对象有效吗?它来自哪里?
-
当我在按钮点击事件中调用函数时发生错误。它来自调用者函数
-
好的,调用函数从哪里获取?
-
哦,等一下,您并没有传递实际的 MailItem 对象,而是传递了对类型的引用。 MailItem 对象必须来自某个地方。上下文是什么?它需要从哪里来?例如。如果您需要当前选定的消息,请使用 Application.ActiveExplorer.Selection 集合。当前显示的消息可以从Application.ActiveInspector.CurrentItem等中获取。
标签: c# outlook vsto outlook-addin