C# 如何以编程方式确定从主功能区创建的Outlook新项目-->;新项目
我有一个Outlook加载项,它是一个新的功能区选项卡,用于连接到我的服务器数据库,以便将一些自定义数据与Outlook对象关联 此功能区选项卡现在显示在邮件项目中 我正在扩展它以显示在任务和日历项(约会、会议等)中 目前,我确定创建的新项目的方式如下-->C# 如何以编程方式确定从主功能区创建的Outlook新项目-->;新项目,c#,outlook,vsto,outlook-addin,C#,Outlook,Vsto,Outlook Addin,我有一个Outlook加载项,它是一个新的功能区选项卡,用于连接到我的服务器数据库,以便将一些自定义数据与Outlook对象关联 此功能区选项卡现在显示在邮件项目中 我正在扩展它以显示在任务和日历项(约会、会议等)中 目前,我确定创建的新项目的方式如下--> Microsoft.Office.Interop.Outlook.Application interopApplication=ThisAddIn.Application.Application if(interopApplication.
Microsoft.Office.Interop.Outlook.Application interopApplication=ThisAddIn.Application.Application
if(interopApplication.ActiveExplorer().CurrentFolder.DefaultItemType.ToString()!=“olTaskItem”)
{
....
}
通过这种方式,我可以确定文件夹及其关联的新项目(如在收件箱中,我创建新邮件项目,在日历中,我创建新约会等)
现在,当我在收件箱中,单击“新建约会”时,它会将创建的新项目标识为olMailItem
,而不是olAppointmentItem
。当我在“日历”视图中单击“新建邮件项目”时,情况也是如此
我的问题是,无论我在哪个文件夹中,我如何确定创建的新项目?您应该检查方法的属性,以确定OlItemType
string itemClass=Globals.ThisAddIn.Application.ActiveInspector().CurrentItem.MessageClass;
if(itemClass==“IPM.Appointment”)
//您有一个日历项
else if(itemClass==“IPM.Task”)
//您有一个任务项
else if(itemClass==“IPM.Note”)
//您有一个消息项
@SilverNinja:谢谢你提供的信息。但是,我无法像上面提到的那样直接获取CurrentItem的MessageClass。我使用以下链接从StackOverflow[Link]()获取消息类