Office.AddinCommands.Event interface

对象 Event 作为参数传递给由函数命令按钮调用的外接程序函数。 对象允许加载项标识单击了哪个按钮,并指示 Office 应用程序已完成其处理。

注解

有关 Excel、Word 和 PowerPoint 中的支持的信息,请参阅外接程序命令要求集

下面概述了 Outlook 的支持信息。

[ API 集:邮箱 1.3 ]

Outlook) 的最低权限级别 (受限

适用的 Outlook 模式:撰写或阅读

属性

source

有关触发调用此函数的控件的信息。

方法

completed(options)

指示加载项已完成处理,并且将自动关闭。

必须在以下调用的函数末尾调用此方法:

  • 函数命令按钮 (,即使用 <Action> 元素定义的外接程序命令,其中 属性xsi:type设置为 ExecuteFunction) 。

  • 在 Outlook 中 on-send 加载项的事件扩展点中定义的事件。 例如,事件 ItemSend

属性详细信息

source

有关触发调用此函数的控件的信息。

source:Source;

属性值

注解

下面概述了 Outlook 的支持信息。

[ API 集:邮箱 1.3 ]

最低权限级别受限

适用的 Outlook 模式:撰写或阅读

示例

// In this example, consider a button defined in an add-in manifest.
// The following is the XML manifest definition. Below it is the Teams 
// manifest (preview) definition.
//
//<Control xsi:type="Button" id="eventTestButton">
//    <Label resid="eventButtonLabel" />
//    <Tooltip resid="eventButtonTooltip" />
//    <Supertip>
//        <Title resid="eventSuperTipTitle" />
//        <Description resid="eventSuperTipDescription" />
//    </Supertip>
//    <Icon>
//        <bt:Image size="16" resid="blue-icon-16" />
//        <bt:Image size="32" resid="blue-icon-32" />
//        <bt:Image size="80" resid="blue-icon-80" />
//    </Icon>
//    <Action xsi:type="ExecuteFunction">
//        <FunctionName>testEventObject</FunctionName>
//    </Action>
//</Control>
//
// The Teams manifest (preview) definition is the following.
// Ellipses("...") indicate omitted properties.
//
//     "extensions": [
//         {
//             ...
//             "runtimes": [
//                 {
//                  "id": "CommandsRuntime",
//                  "type": "general",
//                  "code": {
//                      "page": "https://localhost:3000/commands.html",
//                      "script": "https://localhost:3000/commands.js"
//                  },
//                  "lifetime": "short",
//                  "actions": [
//                      {
//                          "id": "testEventObject",
//                          "type": "executeFunction",
//                          "displayName": "testEventObject"
//                      }
//                  ]
//              }
//             ],
//             "ribbons": [
//                 {
//                     ...
//                     "tabs": [
//                         ...
//                         "groups": [
//                             ...
//                             "controls": [
//                                 {
//                                      "id": "eventTestButton",
//                                      "type": "button",
//                                      "label": "Perform an action",
//                                      "icons": [
//                                          {
//                                              "size": 16,
//                                              "file": "https://localhost:3000/assets/blue-icon-16.png"
//                                          },
//                                          {
//                                              "size": 32,
//                                              "file": "https://localhost:3000/assets/blue-icon-32.png"
//                                          },
//                                          {
//                                              "size": 80,
//                                              "file": "https://localhost:3000/assets/blue-icon-80.png"
//                                          }
//                                      ],
//                                      "supertip": {
//                                          "title": "Perform an action",
//                                          "description": "Perform an action when clicked."
//                                      },
//                                      "actionId": "testEventObject"
//                                  }
//                             ]
//                         ]
//                     ]                           
//                 }
//             ]
//         }
//     ]



// The button has an id set to "eventTestButton", and will invoke
// the testEventObject function defined in the add-in.
// That function looks like this:
function testEventObject(event) {
    // The event object implements the Event interface.

    // This value will be "eventTestButton".
    const buttonId = event.source.id;

    // Signal to the host app that processing is complete.
    event.completed();
}
// Function is used by two buttons:
// button1 and button2
function multiButton (event) {
    // Check which button was clicked.
    const buttonId = event.source.id;

    if (buttonId === 'button1') {
        doButton1Action();
    } else {
        doButton2Action();
    }

    event.completed();
}

方法详细信息

completed(options)

指示加载项已完成处理,并且将自动关闭。

必须在以下调用的函数末尾调用此方法:

  • 函数命令按钮 (,即使用 <Action> 元素定义的外接程序命令,其中 属性xsi:type设置为 ExecuteFunction) 。

  • 在 Outlook 中 on-send 加载项的事件扩展点中定义的事件。 例如,事件 ItemSend

completed(options?: EventCompletedOptions): void;

参数

options
Office.AddinCommands.EventCompletedOptions

可选。 一个 对象,该对象指定 Outlook 中正在发送的加载项在完成事件处理 ItemSend 时的行为。

返回

void

注解

下面概述了 Outlook 的支持信息。

[ API 集:邮箱 1.3 ]

最低权限级别受限

适用的 Outlook 模式:撰写或阅读

重要说明:参数 options 仅适用于实现 on-send 功能的 Outlook 加载项。 它在邮箱 1.8 中引入。

示例

// For the following example, the processItem function is
// defined in the FunctionFile referenced from the add-in manifest,
// and maps to the FunctionName of the action in the associated button control.
function processItem(event) {
    // Do some processing.

    event.completed();
}
// In this example, the checkMessage function was registered as an event handler for ItemSend.
function checkMessage(event) {
    // Get the item being sent.
    const outgoingMsg = Office.context.mailbox.item;

    // Check if subject contains "BLOCK".
    outgoingMsg.subject.getAsync(function (result) {
        // Subject is in `result.value`.
        // If search term "BLOCK" is found, don't send the message.
        const notFound = -1;
        const allowEvent = (result.value.indexOf('BLOCK') === notFound);
        event.completed({ allowEvent: allowEvent });
    });
}