如何在Office Addins中使用“命令”按钮?

问题描述 投票:0回答:1

我有问题,我用于按钮的任何功能都不起作用+我不知道如何调试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 office-js
1个回答
0
投票

要调试加载项命令的JavaScript,需要debug it with Office Online

© www.soinside.com 2019 - 2024. All rights reserved.