Пользовательская функция Excel JavaScript запускается дважды после загрузки электронной таблицы?

#excel #office-js #custom-functions-excel

#excel #office-js #пользовательские функции-excel

Вопрос:

После загрузки электронной таблицы, содержащей ячейку со ссылкой на пользовательскую функцию, пользовательская функция загружается дважды. Можно ли этого избежать?

Чтобы воспроизвести проблему для рабочего стола Excel:

  1. Создайте папку и запустите yo office --projectType excel-functions --name 'TestAddin' --host excel --js
  2. Перейдите в папку TestAddIn и запустите npm run build , затем npm start
  3. Дайте некоторое время плагину для компиляции и запуска Excel, затем выберите ячейку электронной таблицы и введите =CONTOSO.INCREMENT(1) в строку формул Excel. Пресса Enter .
  4. Теперь вы должны увидеть ячейку, показывающую увеличивающиеся значения.
  5. Сохраните электронную таблицу и закройте Excel.
  6. Снова откройте электронную таблицу.

Со временем ячейка показывает:

 #BUSY
1
2
3
#BUSY
1
2
3
4
...
 

Обратите внимание, что при этом не используется общая среда выполнения. Аналогичная проблема зарегистрирована здесь: https://github.com/OfficeDev/office-js/issues/847 .

Комментарии:

1. Я смог исправить проблему. Я не уверен в обходном пути, но вы должны сообщить об этой проблеме в репозитории office-js .

Ответ №1:

Эта конкретная проблема, по-видимому, связана с запуском примера в отладчике, см.: https://github.com/OfficeDev/office-js/issues/1714