Как я могу создавать надстройки Excel для пользовательских функций без пользовательского интерфейса?

В разделе «Пользовательские функции» документации по API Excel есть подраздел для пользовательские функции без пользовательского интерфейса. Однако, хотя они говорят о проблемах аутентификации, способах отладки и различиях во время выполнения, они никогда явно не указывают, как создать такой проект. Как это сделать?

Просто для ясности я надеюсь создать надстройку Excel, которая предоставляет несколько настраиваемых функций, но не имеет панели задач и, таким образом (надеюсь), не требует, чтобы веб-сервер обслуживал соответствующий HTML-код для конечных пользователей. Находится ли это в рамках пользовательской функции без пользовательского интерфейса?


person Permittivity    schedule 04.08.2020    source источник


Ответы (1)


Для пользовательских функций требуется 2 дополнительных файла независимо от каких-либо функций пользовательского интерфейса (панель задач, лента и т. Д.). Это:

  1. Файл метаданных (JSON). Определяет сигнатуры функций.
  2. Либо файл Script (JS), либо файл Page (HTML). Содержит реализации функции. Если у вас есть среда выполнения по умолчанию, будет использоваться Сценарий. Если у вас есть общая среда выполнения, будет использоваться Страница.

Итак, вам придется обслуживать 2 дополнительных файла. К счастью, эти файлы статичны и могут быть обслужены из любого общедоступного места, например OneDrive или GitHub.

Чтобы сделать вашу надстройку без пользовательского интерфейса, просто не включайте в манифест какие-либо определения пользовательского интерфейса для панели задач, вкладок, меню и т. Д. Ничего особенного.

person Zlatko Michailov - MSFT    schedule 04.08.2020
comment
Под файлом сценария вы имеете в виду файл, найденный в ./dist/functions.js, который генерируется из ./src/functions/functions.js при запуске npm run build, верно? Кроме того, знаете ли вы какие-либо инструменты, похожие на Yeoman, которые позволили бы мне создать манифест, который бы содержал минимум информации для использования в моей надстройке пользовательских функций без пользовательского интерфейса? - person Permittivity; 05.08.2020
comment
Я не эксперт по инструментам - я парень Runtime. Однако я уверен, что поддержка настраиваемых функций включена в инструменты надстроек Office. В манифесте есть точка расширения CustomFunctions с элементами ‹Metadata› и ‹Script› (или ‹Page›). Вы можете использовать этот манифест в качестве примера - github.com / OfficeDev / custom-functions / blob / master / addins /. Поместите его в общую папку, и вы сможете установить его оттуда. Никаких инструментов не требуется. Он содержит панель задач и 2 кнопки. Вы можете удалить весь элемент ‹DesktopFormFactor›, если они вам не нужны. - person Zlatko Michailov - MSFT; 05.08.2020