Étendre des fonctions personnalisées avec des fonctions XLL définies par l’utilisateur

Remarque

Un complément XLL est un fichier de complément Excel avec l’extension de fichier .xll. Un fichier XLL est un type de fichier DLL (Dynamic Link Library) qui ne peut être ouvert que par Excel. Les fichiers de complément XLL doivent être écrits en C ou C++. Pour en savoir plus, consultez Développement de XLL Excel .

Si vous avez des compléments Excel XLL existants, vous pouvez créer des compléments de fonction personnalisée équivalents à l’aide de l’API JavaScript Excel pour étendre les fonctionnalités de votre solution à d’autres plateformes, telles que Excel sur le Web ou sur un Mac. Toutefois, les compléments d’API JavaScript Pour Excel ne disposent pas de toutes les fonctionnalités disponibles dans les compléments XLL. Selon les fonctionnalités que votre solution utilise, le complément XLL peut offrir une meilleure expérience dans Excel sur Windows que le complément d’API JavaScript Pour Excel.

Importante

La fonctionnalité de complément équivalente est prise en charge par la plateforme et les applications suivantes. Les compléments COM ne peuvent pas être installés sur une autre plateforme. Par conséquent, sur ces plateformes, l’élément manifeste décrit plus loin dans cet article, EquivalentAddins, est ignoré.

  • Excel, Word et PowerPoint sur Windows (version 1904 ou ultérieure)
  • Outlook sur Windows (version 2102 ou ultérieure) par rapport à une version de serveur Exchange prise en charge
    • Exchange Online
    • Mise à jour cumulative Exchange 2019 10 ou ultérieure (KB5003612)
    • Mise à jour cumulative Exchange 2016 21 ou ultérieure (KB5003611)

Spécifier des XLL équivalents dans le manifeste

Pour activer la compatibilité avec un complément XLL existant, identifiez le complément XLL équivalent dans le manifeste de votre complément d’API JavaScript Pour Excel. Excel utilise ensuite les fonctions de complément XLL lors de l’exécution sur Windows, au lieu des fonctions personnalisées de votre complément d’API JavaScript Pour Excel.

Pour définir le complément XLL équivalent pour vos fonctions personnalisées, spécifiez le FileName du fichier XLL. Lorsque l’utilisateur ouvre un classeur avec des fonctions du fichier XLL, Excel convertit les fonctions en fonctions compatibles. Le classeur utilise ensuite le fichier XLL lorsqu’il est ouvert dans Excel sur Windows, mais il continue à utiliser des fonctions personnalisées à partir de votre complément d’API JavaScript Excel lorsqu’il est ouvert sur le web ou sur Mac.

L’exemple suivant montre comment spécifier un complément COM et un complément XLL en tant qu’équivalents dans un fichier manifeste de complément d’API JavaScript Excel. Souvent, vous spécifiez les deux. Pour l’exhaustivité, cet exemple montre les deux équivalents en contexte. Ils sont identifiés par leur ProgId et FileName respectivement. L’élément EquivalentAddins doit être positionné immédiatement avant la balise fermante VersionOverrides . Pour plus d’informations sur la compatibilité des compléments COM, voir Rendre votre complément Office compatible avec un complément COM existant.

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

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

Remarque

Si un complément d’API JavaScript Excel déclare que ses fonctions personnalisées sont compatibles avec un complément XLL, la modification du manifeste ultérieurement peut interrompre le classeur d’un utilisateur, car cela modifiera le format de fichier.

Comportement des fonctions personnalisées pour les fonctions compatibles XLL

Les fonctions XLL d’un complément sont converties en fonctions personnalisées compatibles XLL lorsqu’une feuille de calcul est ouverte et qu’un complément équivalent est disponible. Lors de l’enregistrement suivant, les fonctions XLL sont écrites dans le fichier en mode compatible afin qu’elles fonctionnent avec les fonctions personnalisées du complément XLL et de l’API JavaScript Excel (sur des plateformes non prises en charge par XLL).

Le tableau suivant compare les fonctionnalités des fonctions XLL définies par l’utilisateur, des fonctions personnalisées compatibles XLL et des fonctions personnalisées de complément d’API JavaScript Pour Excel.

Fonction XLL définie par l’utilisateur Fonctions personnalisées compatibles XLL Fonction personnalisée de complément d’API JavaScript Pour Excel
Plateformes prises en charge Windows Windows, macOS, navigateur web Windows, macOS, navigateur web
Formats de fichiers pris en charge XLSX, XLSB, XLSM, XLS XLSX, XLSB, XLSM XLSX, XLSB, XLSM
Saisie semi-automatique des formules Non Oui Oui
Diffusion en continu Possible via le rappel xlfRTD et XLL. Oui Oui
Localisation des fonctions Non Non. Le nom et l’ID doivent correspondre aux fonctions xll existantes. Oui
Fonctions volatiles Oui Oui Oui
Prise en charge du recalcul multithread Oui Oui Oui
Comportement du calcul Aucune interface utilisateur. Excel peut ne pas répondre pendant le calcul. Les utilisateurs voient #BUSY ! jusqu’à ce qu’un résultat soit retourné. Les utilisateurs voient #BUSY ! jusqu’à ce qu’un résultat soit retourné.
Ensembles de conditions requises S/O CustomFunctions 1.1 et versions ultérieures CustomFunctions 1.1 et versions ultérieures

Voir aussi