如何以编程方式确定从主页功能区创建的Outlook新项 - >新东西

时间:2012-12-03 13:17:39

标签: c# outlook vsto outlook-addin

我有一个Outlook加载项,它是一个新的功能区选项卡,它连接到我的服务器数据库,以便与Outlook对象关联一些自定义数据。

此功能区选项卡显示在“邮件项目”中。

我将其扩展为在任务和日历项目中显示(约会,会议等)。

目前我确定创建的新项目的方式如下 - >

Microsoft.Office.Interop.Outlook.Application interopApplication = ThisAddIn.Application.Application
if (interopApplication.ActiveExplorer().CurrentFolder.DefaultItemType.ToString() != "olTaskItem")
{
  ....
}

通过这种方式,我可以确定文件夹及其相关的新项目(就像在收件箱中,我创建新邮件项目,在日历中我创建新的约会等

现在当我在收件箱中并点击新约会时,它会将新项目标识为olMailItem而不是olAppointmentItem。当我在日历视图中并单击新邮件项时,情况也是如此。

我的问题是如何确定创建的新项目,无论我在哪个文件夹中?

1 个答案:

答案 0 :(得分:1)

您应该检查MessageClass方法的ActiveInspector以确定OlItemType

string itemClass = Globals.ThisAddIn.Application.ActiveInspector().CurrentItem.MessageClass;
if (itemClass == "IPM.Appointment")
  // you have a calendar item
else if (itemClass == "IPM.Task")
  // you have a task item
else if (itemClass == "IPM.Note")
  // you have a message item