Ampliación de funciones personalizadas con funciones definidas por el usuario XLL

Nota:

Un complemento XLL es un archivo de complemento de Excel con la extensión de archivo .xll. Un archivo XLL es un tipo de archivo de biblioteca de vínculos dinámicos (DLL) que solo Excel puede abrir. Los archivos de complemento XLL deben escribirse en C o C++. Consulte Desarrollo de XLL de Excel para obtener más información.

Si tiene complementos XLL de Excel existentes, puede crear complementos de función personalizados equivalentes mediante la API de JavaScript de Excel para ampliar las características de la solución a otras plataformas, como Excel en la Web o en un Equipo Mac. Sin embargo, los complementos de la API de JavaScript de Excel no tienen todas las funciones disponibles en los complementos XLL. En función de la funcionalidad que use la solución, el complemento XLL puede proporcionar una mejor experiencia en Excel en Windows que el complemento de la API de JavaScript de Excel.

Importante

La siguiente plataforma y aplicaciones admiten la característica de complemento equivalente. Los complementos COM no se pueden instalar en ninguna otra plataforma, por lo que en esas plataformas se omite el elemento de manifiesto que se describe más adelante en este artículo. EquivalentAddins

  • Excel, Word y PowerPoint en Windows (versión 1904 o posterior)
  • Outlook en Windows (versión 2102 o posterior) en una versión admitida del servidor Exchange
    • Exchange Online
    • Actualización acumulativa 10 o posterior de Exchange 2019 (KB5003612)
    • Actualización acumulativa 21 de Exchange 2016 o posterior (KB5003611)

Especificar XLL equivalente en el manifiesto

Para habilitar la compatibilidad con un complemento XLL existente, identifique el complemento XLL equivalente en el manifiesto del complemento de la API de JavaScript de Excel. A continuación, Excel usa las funciones de complemento XLL cuando se ejecuta en Windows, en lugar de las funciones personalizadas del complemento de la API de JavaScript de Excel.

Para establecer el complemento XLL equivalente para las funciones personalizadas, especifique el FileName del archivo XLL. Cuando el usuario abre un libro con funciones del archivo XLL, Excel convierte las funciones en funciones compatibles. A continuación, el libro usa el archivo XLL cuando se abre en Excel en Windows, pero sigue usando funciones personalizadas desde el complemento de la API de JavaScript de Excel cuando se abre en la web o en Mac.

En el ejemplo siguiente se muestra cómo especificar un complemento COM y un complemento XLL como equivalentes en un archivo de manifiesto de complemento de la API de JavaScript de Excel. A menudo se especifican ambos. Por motivos de integridad, en este ejemplo se muestran ambos equivalentes en contexto. Se identifican por su ProgId y FileName respectivamente. El EquivalentAddins elemento debe colocarse inmediatamente antes de la etiqueta de cierre VersionOverrides . Para obtener más información sobre la compatibilidad de complementos COM, vea Hacer que el complemento de Office sea compatible con un complemento COM existente.

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

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

Nota:

Si un complemento de la API de JavaScript de Excel declara que sus funciones personalizadas son compatibles con un complemento XLL, cambiar el manifiesto más adelante podría interrumpir el libro de un usuario porque cambiará el formato de archivo.

Comportamiento de la función personalizada para funciones compatibles con XLL

Las funciones XLL de un complemento se convierten en funciones personalizadas compatibles con XLL cuando se abre una hoja de cálculo y hay un complemento equivalente disponible. En el siguiente guardado, las funciones XLL se escriben en el archivo en un modo compatible para que funcionen con el complemento XLL y las funciones personalizadas del complemento de la API de JavaScript de Excel (cuando se encuentren en plataformas no compatibles con XLL).

En la tabla siguiente se comparan las características de las funciones definidas por el usuario de XLL, las funciones personalizadas compatibles con XLL y las funciones personalizadas del complemento de la API de JavaScript de Excel.

Función definida por el usuario XLL Funciones personalizadas compatibles con XLL Función personalizada del complemento de la API de JavaScript de Excel
Plataformas compatibles Windows Windows, macOS, explorador web Windows, macOS, explorador web
Formatos de archivo admitidos XLSX, XLSB, XLSM, XLS XLSX, XLSB, XLSM XLSX, XLSB, XLSM
Autocompletar de fórmulas No
Transmisión Posible a través de xlfRTD y devolución de llamada XLL.
Localización de funciones No No. El nombre y el identificador deben coincidir con las funciones de XLL existentes. Yes
Funciones volátiles
Compatibilidad con la actualización multiproceso
Funcionamiento del cálculo Sin interfaz de usuario. Excel puede no responder durante el cálculo. ¡Los usuarios ven #BUSY! hasta que se devuelve un resultado. ¡Los usuarios ven #BUSY! hasta que se devuelve un resultado.
Conjuntos de requisitos N/D CustomFunctions 1.1 y versiones posteriores CustomFunctions 1.1 y versiones posteriores

Vea también