我按照链接尝试displayDialogAsync方法, https://channel9.msdn.com/Shows/Office-Dev-Show/Office-Dev-Show-Episode-26-Using-the-Dialog-API-in-Office-Add-ins 当我从GitHub测试项目时,我在Office.context.ui.displayDialogAsync中收到错误“Permission Denied error”。 这是一个简单的代码:
function ShowDialog() {
// Reference the Form.html file.
var dialogUrl = 'https://' + location.host + '/Form.html';
// Display the dialog.
Office.context.ui.displayDialogAsync(dialogUrl, { width: 15, height: 27, requireHTTPS: true }, function (asyncResult) {
if (asyncResult.status !== Office.AsyncResultStatus.Succeeded) {
// TODO: Handle error.
return;
}
// Get the dialog and register event handlers.
var dialog = asyncResult.value;
dialog.addEventHandler(Microsoft.Office.WebExtension.EventType.DialogMessageReceived, function (asyncResult) {
if (asyncResult.type !== Microsoft.Office.WebExtension.EventType.DialogMessageReceived) {
// TODO: Handle unknown message.
return;
}
// Parse the message.
var data = JSON.parse(asyncResult.message);
showNotification('Hello #Office365Dev', data.name);
// TODO: Do something with the data.
// We got our data, time to close the dialog.
dialog.close();
});
});
}
感谢您的帮助。
答案 0 :(得分:2)
根据提供的信息,您不清楚正在运行的Office应用程序,正在运行的Office版本以及要加载的Office.js的版本。
对话框API仅适用于Office 365的最新点击运行版本(6741之后)和最新的Mac版本。请确保您使用的是最新版本的Office。对话框API并非在所有应用程序中都可用,但它应该在Office.js 1.1中正确加载Excel,Word和PowerPoint。它与Outlook略有不同。该API的Office Online应用程序版本仍在开发中。
API文档在线:https://github.com/OfficeDev/office-js-docs/blob/master/reference/shared/officeui.md