Étendre des fonctions personnalisées avec des compléments XLL
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 classique sur Windows (version 2102 ou ultérieure) par rapport à une version exchange server prise en charge
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 |