是否有一种无需单击按钮即可触发动作的方法

时间:2019-07-15 19:47:29

标签: outlook outlook-addin outlook-web-addins

我将要开发一个加载项,它将自动从电子邮件中提取一些数据并修改我们数据库中的某些字段。但是,这种提取可能容易出错,因此我们希望在发生这种情况时进行人工验证。

我们已经在gmail中进行了此操作,当用户打开电子邮件并找到要提取的内容时,我们会显示一个确认弹出窗口,并且此功能深受客户欢迎。

我打算使用该对话框,但似乎要触发此操作,以显示框的操作需要附加到ui元素上,以便用户单击。

有没有办法在没有用户点击的情况下以实用的方式对某项动作进行触发?

1 个答案:

答案 0 :(得分:1)

查看Outlook加载项可用的可固定任务窗格,有关详细信息,请参见Implement a pinnable task pane in Outlook。在那里,您可以实现ItemChanged事件处理程序。事件处理程序应接受单个参数,即对象文字。该对象的type属性将设置为Office.EventType.ItemChanged。调用事件时,Office.context.mailbox.item对象已被更新以反映当前选定的项目。

Office.initialize = function (reason) {
  $(document).ready(function () {

    // Set up ItemChanged event
    Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged);

    UpdateTaskPaneUI(Office.context.mailbox.item);
  });
};

// Example implementation
function UpdateTaskPaneUI(item)
{
  // Assuming that item is always a read item (instead of a compose item).
  if (item != null) console.log(item.subject);
}