在联系人卡片编辑模式下未触发 Outlook 检查器事件
Outlook inspector events not triggered in contact card edit mode
我正在开发用于记录联系人更改(新添加的更改)的 outlook 插件。我使用以下代码来触发 outlook 事件。
//触发新的检查器事件
_inspectors = Application.Inspectors;
_inspectors.NewInspector += 新 Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
Inspectors_NewInspector 事件应该如下所示
private void Inspectors_NewInspector(Outlook.Inspector 检查员)
{
if (inspector.CurrentItem is Outlook.ContactItem)
{
if (((Outlook.ContactItem)inspector.CurrentItem).EntryID != null)
{
// Here Capture the contact properties changes
}
}
}
以上代码在以完整联系人编辑模式编辑联系人时按预期工作。但是,从outlook 2013和2016开始,我们可以使用联系人卡片模式编辑联系人。如果我编辑名片模式,则不会触发 NewInspector 事件。所以,我无法捕获 outlook 联系人更改。
名片视图如下。
解决此问题的任何建议。
提前致谢。
您需要订阅资源管理器 class 的 SelectionChange 事件,该事件在用户以编程方式或通过与用户界面交互选择不同或附加的 Microsoft Outlook 项目时触发。
当用户(以编程方式或通过用户界面)单击或切换到包含项目的不同文件夹时,也会发生此事件,因为 Outlook 会自动选择该文件夹中的第一个项目。
您可能会发现 How to: Display Selected Items in the Active Explorer 文章很有帮助。
我正在开发用于记录联系人更改(新添加的更改)的 outlook 插件。我使用以下代码来触发 outlook 事件。
//触发新的检查器事件
_inspectors = Application.Inspectors;
_inspectors.NewInspector += 新 Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
Inspectors_NewInspector 事件应该如下所示
private void Inspectors_NewInspector(Outlook.Inspector 检查员) {
if (inspector.CurrentItem is Outlook.ContactItem)
{
if (((Outlook.ContactItem)inspector.CurrentItem).EntryID != null)
{
// Here Capture the contact properties changes
}
}
}
以上代码在以完整联系人编辑模式编辑联系人时按预期工作。但是,从outlook 2013和2016开始,我们可以使用联系人卡片模式编辑联系人。如果我编辑名片模式,则不会触发 NewInspector 事件。所以,我无法捕获 outlook 联系人更改。
名片视图如下。
解决此问题的任何建议。
提前致谢。
您需要订阅资源管理器 class 的 SelectionChange 事件,该事件在用户以编程方式或通过与用户界面交互选择不同或附加的 Microsoft Outlook 项目时触发。
当用户(以编程方式或通过用户界面)单击或切换到包含项目的不同文件夹时,也会发生此事件,因为 Outlook 会自动选择该文件夹中的第一个项目。
您可能会发现 How to: Display Selected Items in the Active Explorer 文章很有帮助。