Как заставить кнопку «Команды» работать в надстройках Office? - PullRequest
0 голосов
/ 04 апреля 2019

У меня проблема с тем, что любая функция, которую я использую для кнопки, не работает + Я не знаю, как отлаживать команды Office.

Excel Version 1904 (build 11527.20004)

Когда я использую отладчик F12 и присоединяюсь к процессу IE для своего надстройки (панели задач), тогда, когда я нажимаю кнопку, я получаю необработанное исключение и запрашиваю присоединение отладчика. Если я сделаю это с моим VS 2017, я получит это:

Необработанное исключение в строке 18, столбец 27179 в https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js 0x800a01b6 - Ошибка времени выполнения JavaScript: объект не поддерживает свойство или метод 'фильтр' произошел

Что я сделал: - манифест кажется правильным (проверка пройдена), он имеет все узлы, кнопки видны на ленте - после включения исключения петли (я запускаю его на своем локальном хосте вместе с сервером IIS) ссылка на DesktopFunctionFile выглядит нормально, fiddler показывает, что он получен правильно - для «ExecuteFunction» я использовал несколько функций, таких как - Показать пользовательский диалог (ничего не происходит) - Запишите некоторые данные в лист (ничего не происходит) - любой используемый console.log нигде не отображается (я ожидал увидеть его в журнале выполнения). - Я использую event.completed ();

Я вижу только «RibbonTest работает над тестом» в нижней части Excel при нажатии на кнопку «Тест». "RibbonTest" - это имя моего дополнения.

Я использовал этот пример в качестве основы для моего html 'FunctionFile' (только часть заголовка): 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? Любой совет для того, чтобы запустить это более чем приветствуется! Благодаря.

1 Ответ

0 голосов
/ 06 апреля 2019

Для отладки JavaScript команды надстройки необходимо отладить ее с помощью Office Online .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...