Partager via


xlAddInManagerInfo/xlAddInManagerInfo12

S’applique à: Excel 2013 | Office 2013 | Visual Studio

Appelé par Microsoft Excel lorsque le Gestionnaire de compléments est appelé pour la première fois dans une session Excel. Cette fonction est utilisée pour fournir au Add-In Manager des informations sur votre complément.

Excel 2007 et versions ultérieures appellent xlAddInManagerInfo12 de préférence à xlAddInManagerInfo si exporté par xlL. La fonction xlAddInManagerInfo12 doit fonctionner de la même façon que xlAddInManagerInfo pour éviter les différences de comportement spécifiques à la version du XLL. Excel s’attend à ce que xlAddInManagerInfo12 retourne un type de données XLOPER12 , tandis que xlAddInManagerInfo doit renvoyer un XLOPER.

La fonction xlAddInManagerInfo12 n’est pas appelée par les versions d’Excel antérieures à Excel 2007, car elles ne prennent pas en charge les XLOPER12.

Excel n’a pas besoin d’un XLL pour implémenter et exporter l’une ou l’autre de ces fonctions.

LPXLOPER WINAPI xlAddInManagerInfo(LPXLOPER pxAction);
LPXLOPER12 WINAPI xlAddInManagerInfo12(LPXLOPER12 pxAction);

Paramètres

pxAction : Pointeur vers un XLOPER/XLOPER12 numérique (xltypeInt ou xltypeNum).

Informations demandées par Excel.

Valeur de propriété/valeur de renvoi

Si pxAction est, ou peut être lié au nombre 1, votre implémentation de cette fonction doit retourner une chaîne contenant des informations sur le complément, généralement son nom et peut-être un numéro de version. Sinon, elle doit retourner #VALUE !.

Si vous ne retournez pas de chaîne, Excel tente de convertir la valeur retournée en chaîne.

Remarques

Si la chaîne retournée pointe vers la mémoire tampon allouée dynamiquement, vous devez vous assurer que cette mémoire tampon est finalement libérée. Si la chaîne a été allouée par Excel, vous devez définir xlbitXLFree. Si la chaîne a été allouée par la DLL, vous devez définir xlbitDLLFree, et vous devez également implémenter dans xlAutoFree (si vous retournez un XLOPER) ou xlAutoFree12 (si vous retournez un XLOPER12).

Exemple

\SAMPLES\GENERIC\GENERIC.C

LPXLOPER12 WINAPI xlAddInManagerInfo12(LPXLOPER12 xAction)
{
    static XLOPER12 xInfo, xIntAction;
/*
** This code coerces the passed-in value to an integer. This is how the
** code determines what is being requested. If it receives a 1, it returns a
** string representing the long name. If it receives anything else, it
** returns a #VALUE! error.
*/
    Excel12f(xlCoerce, &xIntAction, 2, xAction, TempInt12(xltypeInt));
    if(xIntAction.val.w == 1) 
    {
        xInfo.xltype = xltypeStr;
        xInfo.val.str = L"\026Example Standalone DLL";
    }
    else 
    {
        xInfo.xltype = xltypeErr;
        xInfo.val.err = xlerrValue;
    }
// Word of caution - returning static XLOPERs/XLOPER12s is not thread safe
// for UDFs declared as thread safe. Use alternate memory allocation mechanisms.
    return (LPXLOPER12)&xInfo;
} 

Voir aussi

Fonctions du Gestionnaire de compléments et de l’interface XLL