Office.AddinCommands.Event interface
对象 Event
作为参数传递给由函数命令按钮调用的外接程序函数。 对象允许加载项标识单击了哪个按钮,并指示 Office 应用程序已完成其处理。
注解
有关 Excel、Word 和 PowerPoint 中的支持的信息,请参阅外接程序命令要求集。
下面概述了 Outlook 的支持信息。
[ API 集:邮箱 1.3 ]
Outlook) 的最低权限级别 (:受限
适用的 Outlook 模式:撰写或阅读
属性
source | 有关触发调用此函数的控件的信息。 |
方法
completed(options) | 指示加载项已完成处理,并且将自动关闭。 必须在以下调用的函数末尾调用此方法: |
属性详细信息
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
) 。
completed(options?: EventCompletedOptions): void;
参数
可选。 一个 对象,该对象指定 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 });
});
}