如何以编程方式确定从主功能区创建的 Outlook 新项目 --> 新项目
Posted
技术标签:
【中文标题】如何以编程方式确定从主功能区创建的 Outlook 新项目 --> 新项目【英文标题】:How to programmatically determine the Outlook New Item created from Home Ribbon --> New Items 【发布时间】:2012-12-03 13:17:39 【问题描述】:我有一个 Outlook 插件,它是一个新的功能区选项卡,它连接到我的服务器数据库,以便将一些自定义数据与 Outlook 对象关联。
此功能区选项卡现在显示在邮件项目中。
我正在扩展它以显示在任务和日历项目中(约会、会议等)。
目前我确定创建的新项目的方式如下-->
Microsoft.Office.Interop.Outlook.Application interopApplication = ThisAddIn.Application.Application
if (interopApplication.ActiveExplorer().CurrentFolder.DefaultItemType.ToString() != "olTaskItem")
....
这样我就可以确定文件夹及其相关的新项目(比如在收件箱中,我创建新邮件项目,在日历中我创建新约会等)
现在,当我在收件箱中并单击“新约会”时,它会将创建的新项目标识为 olMailItem
而不是 olAppointmentItem
。当我在日历视图中单击新邮件项目时也是如此。
我的问题是,无论我在哪个文件夹中,如何确定创建的新项目?
【问题讨论】:
【参考方案1】:您应该检查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
【讨论】:
@SilverNinja :感谢您提供的信息。但是,如上所述,我无法直接获取 CurrentItem 的 MessageClass。我使用以下链接从 *** [链接] (***.com/questions/6171357/…) 获取 Message 类以上是关于如何以编程方式确定从主功能区创建的 Outlook 新项目 --> 新项目的主要内容,如果未能解决你的问题,请参考以下文章
如何监控 Microsoft Outlook 以确定加载时间和使用第三方程序、PowerShell 或 C# 所涉及的因素?