Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何以编程方式确定从主功能区创建的Outlook新项目-->;新项目_C#_Outlook_Vsto_Outlook Addin - Fatal编程技术网

C# 如何以编程方式确定从主功能区创建的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.

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

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

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

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

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]()获取消息类