c# – 如何以编程方式确定从主页功能区创建的Outlook新项 – >新项

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

功能区选项卡现在显示邮件项目中.

我正在扩展它以显示在任务和日历项目(约会,会议等)中.

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

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

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

现在,当我在InBox中,并且单击New Appointment时,它会将新项目标识为olMailItem,而不是olAppointmentItem.当我在日历视图中并单击新邮件项时,情况也是如此.

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

解决方法

您应该检查 ActiveInspector方法MessageClass以确定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

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...