我有问题,我用于按钮的任何功能都不起作用+我不知道如何调试Office命令。
Excel Version 1904 (build 11527.20004)
当我使用F12调试器并附加到我的插件(任务窗格)的IE进程时,然后当我单击按钮时我将得到未处理的异常并提示附加调试器,如果我使用我的VS 2017,我会得到这个:
https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js第18行第27179行未处理的异常0x800a01b6 - JavaScript运行时错误:对象不支持属性或方法'filter'发生
我做了什么: - 清单似乎正确(验证通过),它有所有节点,按钮在功能区中可见。 - 启用环回免除后(我在我的localhost上与IIS服务器一起运行)对DesktopFunctionFile的引用似乎很好,fiddler显示它被正确检索 - 对于“ExecuteFunction”我使用了多个函数,如 - 显示自定义对话框(没有任何反应) - 将一些数据写入工作表(没有任何反应) - 任何使用过的console.log都不显示在任何地方(我希望在运行时日志中看到它)。 - 我使用event.completed();
我点击“测试”按钮时,只在Excel底部看到“RibbonTest正在进行测试”。 “RibbonTest”是我的插件的名称。
我使用这个示例作为我的'FunctionFile'html(只是头部)的基础:https://github.com/OfficeDev/Office-Add-in-Dialog-API-Simple-Example/blob/2304d66438323239eb81e61b734bd8b231cc4615/SimpleDialogSampleWeb/FunctionFile.html
<head>
<script src="https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js" type="text/javascript"></script>
<script>
var clickEvent;
// The initialize function must be defined each time a new page is loaded
(function () {
Office.initialize = function (reason) {
// If you need to initialize something you can do so here.
};
})();
// Wrap the writeToDoc in showNotification because showNotification is called
// in DialogHelper.js but must be defined differently when the dialog is called
// from a task pane instead of a custom menu command.
function showNotification(event)
{
clickEvent = event;
writeToDoc();
//Required, call event.completed to let the platform know you are done processing.
clickEvent.completed();
}
function writeToDoc()
{
console.log("WriteToDoc.");
Excel.run(function (context) {
var sheet = context.workbook.worksheets.getActiveWorksheet();
var range = sheet.getRange("B2");
range.values = [[ 5 ]];
return context.sync();
});
}
</script>
</head>
有谁知道如何调试Office Addins中的'命令'?任何提示运行的提示都非常受欢迎!谢谢。
要调试加载项命令的JavaScript,需要debug it with Office Online。