Outlook中的ItemChanged事件

时间:2019-06-27 01:49:09

标签: outlook outlook-addin office-js

嗨,我正在构建一个Outlook加载项,我想知道是否有方法可以处理ItemChange事件,我知道我们可以通过固定任务窗格来使用它,还有其他方法吗?

2 个答案:

答案 0 :(得分:1)

当前,只有在固定加载项的情况下才能使用ItemChanged事件。我们在user-voice页上跟踪Outlook加载项功能请求。请在此处添加您的请求。在进行规划过程时,会考虑用户语音功能请求。

答案 1 :(得分:0)

您需要使用addHandlerAsync(eventType, handler, [options], [callback])方法来订阅ItemChange事件。这是MSDN声明的内容:

  

当前唯一受支持的事件类型是Office.EventType.ItemChanged,当用户选择新项目时将调用该类型。实施可固定任务窗格的加载项使用此事件,并允许加载项根据当前选定的项目刷新任务窗格UI。

Office.initialize = function (reason) {
 $(document).ready(function () {
   Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, loadNewItem, function (result) {
     if (result.status === Office.AsyncResultStatus.Failed) {
      // Handle error.
     }
   });
 });
};

function loadNewItem(eventArgs) {
  // Load the properties of the newly selected item.
  loadProps(Office.context.mailbox.item);
};

此外,您可能会发现以下讨论很有用-Outlook Add-In API does not fire the ItemChange event consistently on Firefox/Chrome。 ItemChange在项目实际更改时触发,但在您仅更改选择内容时不会触发。