Office 外接程序

Office 外接程序 ,第1张

Office Add-ins 长期以来一直支持自定义功能区按钮和菜单,称为插件命令。对于 Word、Excel、PowerPoint 和 Outlook,有两种方式:打开任务窗格的方式和调用 JavaScript 函数的方式。ExecuteFunction 命令即调用 JavaScript 函数的命令,我们在 JavaScript 文件中创建一个函数,然后在清单中通过名称标识该函数。JavaScript 文件由一个没有 UI 的 HTML 文件加载,通常称为 functionfile.html 或 commands.html。

为了提高 Office 外接程序的安全性,微软正在改变创建 ExecuteFunction 外接程序命令的方式。此更改不需要重新提交 Office 外接程序。

除了定义 JavaScript 函数之外,还需要通过调用

Office.actions.associate("name-of-function", function)

向 Office 注册该函数。

下面是一个示例

function writeText(event) {
    // Implement your custom code here. The following code is a simple example.   
    Office.context.document.setSelectedDataAsync("ExecuteFunction works. Button ID=" + event.source.id,
        function(asyncResult) {
            var error = asyncResult.error;
            if (asyncResult.status === Office.AsyncResultStatus.Failed) {
                // Show error message. 
            } else {
                // Show success message. 
            }
        });
    // Calling event.completed is required. event.completed lets the platform know that processing has completed. 
    event.completed();
}
// Register the function with the associate API 
Office.actions.associate("writeText", writeText);

重要提醒
这些变更必须在 2022 年 10 月 30 日前完成。从那一天起,ExecuteFunction 类型的外接程序命令中没有以这种方式注册的函数将不能再运行。请尽快更新您的 Office 外接程序,以避免影响外接程序的功能。

要测试是否正确注册了功能,可以模拟 Office 在 2022 年 10 月 30 日的行为。向

保存