Partager via


Accès au code XLL dans Excel (traduction automatique)

Dernière modification : vendredi 13 mars 2009

S’applique à : Excel 2010 | Office 2010 | VBA | Visual Studio

Dans cet article
Enregistrement des commandes et les fonctions avec Excel
Appel de fonctions XLL directement à partir d'Excel
Appeler des commandes XLL directement à partir d'Excel

Important

Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Pour être accessibles dans Microsoft Excel, les fonctions et les commandes contenues dans une XLL :

  • Doit être exporté par la XLL.

  • Doit être enregistré avec Excel.

Enregistrement des commandes et les fonctions avec Excel

L'inscription indique à Excel ce qui suit sur un point d'entrée DLL :

  • Si elle est masquée ou, si une fonction, si elle est visible dans l'Assistant fonction.

  • Si elle peut être appelé qu'à partir d'une feuille de macro XLM ou à partir d'une feuille de calcul.

  • Si une commande, que ce soit une fonction de feuille de calcul ou une fonction équivalente de feuille macro.

  • Quel est son nom d'exportation XLL/DLL et le nom que vous souhaitez qu'Excel à utiliser.

  • S'il s'agit d'une fonction :

    • Quelles sont les données types de retours et prend comme arguments.

    • Si elle renvoie son résultat en modifiant un argument en place.

    • Si elle est volatile.

    • Indique si elle est thread-safe (démarrage pris en charge dans Excel 2007).

    • Quel éditeur de la saisie semi-automatique et de l'Assistant fonction de collage de texte doivent afficher pour vous aider à appeler la fonction.

    • Catégorie que doit figurer sous la fonction.

Il s'agit d'utilisant atteint tous les xlfRegister de fonction API C, équivalente à la REGISTER de fonction XLM.

Appel de fonctions XLL directement à partir d'Excel

Une fois qu'ils sont inscrits, fonctions de feuille de calcul et la macro XLL peuvent être appelées depuis n'importe où de qu'une fonction intégrée peut être appelée à partir :

  • Une formule de cellule unique ou tableau sur une feuille de calcul.

  • Une formule de cellule unique ou tableau d'une feuille macro.

  • La définition d'un nom défini.

  • Les champs condition et limite dans une boîte de dialogue Mise en forme conditionnelle.

  • À partir d'un autre complément via l'API c fonctionne xlUDF.

  • À partir de Visual Basic pour Applications (VBA) via la méthode Application.Run.

Vous pouvez obtenir une référence à la cellule ou plage de cellules appelant au sein de votre fonction à l'aide de la xlfCaller de fonction API C. Si la fonction a été appelée à partir de l'expression de mise en forme conditionnelle de la cellule, vous revenez toujours une référence à la cellule associée ou les cellules, afin que vous ne pouvez pas supposer que la formule de cellule contienne la fonction XLL. Si votre fonction a été appelée à partir d'une fonction VBA définie par l'utilisateur (UDF), xlfCaller renvoie à nouveau l'adresse des cellules qui a appelé la fonction VBA. Pour plus d'informations, consultez xlfCaller (traduction automatique).

Notes

Excel appelle également le code de la fonction XLL à partir des boîtes de dialogue Assistant Coller une fonction et Remplacer . Vous devrez peut-être limiter votre code de fonctionner normalement dans le cas de la boîte de dialogue Coller des arguments de fonction , en particulier dans lequel votre fonction peut prendre beaucoup de temps à s'exécuter. Pour détecter si votre fonction est appelée à partir de ces boîtes de dialogue, vous devez implémenter du code dans votre projet qui parcourt toutes les fenêtres ouvertes pour déterminer si la fenêtre affichée est un de ces boîtes de dialogue et, le cas échéant, celui qui.

Appeler des commandes XLL directement à partir d'Excel

Une fois qu'ils sont inscrits, les commandes XLL peuvent être appelées dans toutes les méthodes que les autres macros définies par l'utilisateur peuvent être appelées :

  • Par l'associer à un objet control incorporées dans une feuille de calcul.

  • À partir de la boîte de dialogue Exécuter une Macro.

  • À partir d'une macro VBA définie par l'utilisateur à l'aide de la méthode Application.Run.

  • À partir d'un élément de menu personnalisée ou la barre d'outils.

  • À l'aide d'une séquence de touches de raccourci configuré lors de l'enregistrement de la commande.

  • La commande à exécuter lorsqu'un événement spécifié est interceptée.

Notes

Commandes XLL sont masqués dans la mesure où ils n'apparaissent pas dans la liste des macros disponibles dans les boîtes de dialogue d'Excel. Mais ils peuvent être saisis manuellement dans le champ nom de macro. Excel suppose que le nom inscrit en tant que dans ces boîtes de dialogue, pas le nom d'exportation de la DLL.

Toutes les commandes XLL inscrits avec Excel sont adoptés par Excel pour la forme suivante :

short WINAPI xll_cmd_name(void)
{
// Function code...
    return 1;
}

Excel ignore la valeur de retour, sauf si elle est appelée à partir d'une feuille de macro XLM, dans lequel cas la valeur de retour est convertie en TRUE ou FALSE. Vous devez par conséquent retourner 1 si votre commande exécutée avec succès et 0 si elle a échoué ou a été annulée par l'utilisateur.

Vous pouvez obtenir des informations sur la façon dont votre commande a été appelée à l'aide de la xlfCaller de fonction API C. Pour plus d'informations, consultez xlfCaller (traduction automatique).

Démarrage dans l'interface utilisateur Excel 2007 est très différent des versions antérieures. Les fonctions API C permettant l'ajout et suppression de barres de menu personnalisé, menus, sous-menus, éléments de menu, barres d'outils personnalisées et des boutons de barre d'outils sont toujours pris en charge dans la plupart des cas. Toutefois, ils ne peuvent toujours soumettre l'élément ajouté disponibles de manière que vos utilisateurs connaissent. Vous devez vérifier attentivement que toute fonctionnalité supplémentaire est toujours accessible, ou mettre en œuvre une personnalisation spécifique à la version. Démarrage de l'interface utilisateur en Excel 2007 est mieux personnalisé en utilisant un module de code managé peut ensuite être étroitement couplé à vos commandes XLL.

Notes

Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Voir aussi

Concepts

Création de XLL (traduction automatique)

Procédure : appeler des fonctions XLL à partir de l’Assistant Fonction ou des boîtes de dialogue Remplacer (traduction automatique)

Gestionnaire de compléments et fonctions d’interface XLL (traduction automatique)

Développement de XLL Excel 2010 (traduction automatique)