Расширение пользовательских функций с помощью функций, определенных пользователем XLL

Примечание

Надстройка XLL — это Excel надстройка с расширением файла .xll. XLL-файл — это тип динамического файла библиотеки ссылок (DLL), который может быть открыт только Excel. Файлы надстройки XLL должны быть написаны в C или C++. Дополнительные Excel XLLs см. в Excel.

Если у вас есть Excel надстройки XLL, можно создать эквивалентные настраиваемые надстройки функций с помощью API Excel JavaScript, чтобы расширить возможности решения на других платформах, таких как Excel в Интернете или на Mac. Однако Excel надстройки API JavaScript не имеют всех функциональных возможностей, доступных в надстройки XLL. В зависимости от функциональных возможностей, которые использует ваше решение, надстройка XLL может обеспечить более Excel, чем надстройка API JavaScript в Excel на Windows.

Важно!

Эквивалентная функция надстройки поддерживается следующей платформой и приложениями. Надстройки COM не могут быть установлены на любой другой платформе, поэтому на этих платформах игнорируется элемент манифеста, который обсуждается позже в этой EquivalentAddins статье.

  • Excel, Word и PowerPoint на Windows (версия 1904 или более поздней версии)
  • Outlook версии Windows версии 2102 или более поздней версии Exchange сервера
    • Exchange Online
    • Exchange 2019 Накопительное обновление 10 или более поздней версии(KB5003612)
    • Exchange 2016 накопительного обновления 21 или более поздней версии(KB5003611)

Укажите эквивалентный XLL в манифесте

Чтобы обеспечить совместимость с существующей надстройки XLL, определите эквивалентную надстройка XLL в манифесте Excel API JavaScript. Excel будет использовать функции надстройки XLL вместо пользовательских функций Excel API JavaScript при работе Windows.

Чтобы задать эквивалентную надстройка XLL для настраиваемой функции, укажите FileName файл XLL. Когда пользователь открывает книгу с функциями из XLL-файла, Excel преобразовывать функции в совместимые функции. Затем в книге используется файл XLL, открываемый в Excel на Windows, и он будет использовать настраиваемые функции из надстройки API JavaScript Excel JavaScript при его открытом в Интернете или на Mac.

В следующем примере показано, как указать надстройки COM и надстройки XLL в качестве эквивалентов в файле манифеста API javaScript Excel JavaScript. Часто указывается и то, и другое. Для полноты в этом примере показаны оба контекста. Они идентифицированы по их ProgId и FileName соответственно. Элемент EquivalentAddins должен быть позиционировали непосредственно перед закрытием VersionOverrides тега. Дополнительные сведения о совместимости надстройки COM см. в Office надстройки с существующей надстройки COM.

<VersionOverrides>
  ...
  <EquivalentAddins>
    <EquivalentAddin>
      <ProgId>ContosoCOMAddin</ProgId>
      <Type>COM</Type>
    </EquivalentAddin>

    <EquivalentAddin>
      <FileName>contosofunctions.xll</FileName>
      <Type>XLL</Type>
    </EquivalentAddin>
  </EquivalentAddins>
</VersionOverrides>

Примечание

Если Excel надстройка API JavaScript объявляет свои пользовательские функции совместимыми с надстройки XLL, изменение манифеста в более позднее время может нарушить работу пользователя, так как изменит формат файла.

Настраиваемое поведение функций для совместимых функций XLL

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

В следующей таблице сравниваются функции, определяемые пользователями XLL, пользовательские функции, совместимые с XLL, и Excel пользовательские функции надстройки API JavaScript.

Функция, определяемая пользователем XLL Пользовательские функции, совместимые с XLL Excel Настраиваемая функция надстройки API JavaScript
Поддерживаемые платформы Windows Windows, macOS, веб-браузер Windows, macOS, веб-браузер
Поддерживаемые форматы файлов XLSX, XLSB, XLSM, XLS XLSX, XLSB, XLSM XLSX, XLSB, XLSM
Автокомплект Формулы Нет Да Да
Подписка с потоковой передачей Возможно с помощью вызова xlfRTD и XLL. Да Да
Локализация функций Нет Нет. Имя и ID должны соответствовать существующим функциям XLL. Да
Переменные функции Да Да Да
Поддержка перерасчета с несколькими потоками Да Да Да
Режим вычислений Нет пользовательского интерфейса. Excel может быть безответным при вычислении. Пользователи увидят #BUSY! пока результат не будет возвращен. Пользователи увидят #BUSY! пока результат не будет возвращен.
Наборы требований Недоступно CustomFunctions 1.1 и более поздней CustomFunctions 1.1 и более поздней

См. также