xlAddInManagerInfo/xlAddInManagerInfo12
Gilt für: Excel 2013 | Office 2013 | Visual Studio
Wird von Microsoft Excel aufgerufen, wenn der Add-In-Manager zum ersten Mal in einer Excel-Sitzung aufgerufen wird. Diese Funktion wird verwendet, um dem Add-In Manager Informationen zu Ihrem Add-In bereitzustellen.
Excel 2007 und höhere Versionen rufen xlAddInManagerInfo12 vor xlAddInManagerInfo auf, wenn sie von der XLL exportiert werden. Die xlAddInManagerInfo12-Funktion sollte auf die gleiche Weise wie xlAddInManagerInfo funktionieren, um versionsspezifische Unterschiede im Verhalten der XLL zu vermeiden. Excel erwartet , dass xlAddInManagerInfo12 einen XLOPER12 Datentyp zurückgibt, während xlAddInManagerInfo eine XLOPER zurückgeben sollte.
Die xlAddInManagerInfo12-Funktion wird von Excel-Versionen vor Excel 2007 nicht aufgerufen, da diese die XLOPER12 nicht unterstützen.
Excel erfordert keine XLL, um eine dieser Funktionen zu implementieren und zu exportieren.
LPXLOPER WINAPI xlAddInManagerInfo(LPXLOPER pxAction);
LPXLOPER12 WINAPI xlAddInManagerInfo12(LPXLOPER12 pxAction);
Parameter
pxAction: Ein Zeiger auf eine numerische XLOPER/XLOPER12 (xltypeInt oder xltypeNum).
Die Informationen, nach denen Excel fragt.
Eigenschaftswert/Rückgabewert
Wenn pxAction die Zahl 1 ist oder in umgewandelt werden kann, sollte Ihre Implementierung dieser Funktion eine Zeichenfolge zurückgeben, die einige Informationen zum Add-In enthält, in der Regel dessen Name und möglicherweise eine Versionsnummer. Andernfalls sollte #VALUE! zurückgegeben werden.
Wenn Sie keine Zeichenfolge zurückgeben, versucht Excel, den zurückgegebenen Wert in eine Zeichenfolge zu konvertieren.
Hinweise
Wenn die zurückgegebene Zeichenfolge auf dynamisch zugeordneten Puffer verweist, müssen Sie sicherstellen, dass dieser Puffer schließlich freigegeben wird. Wenn die Zeichenfolge von Excel zugeordnet wurde, legen Sie xlbitXLFree fest. Wenn die Zeichenfolge von der DLL zugeordnet wurde, legen Sie xlbitDLLFree fest, und Sie müssen auch in xlAutoFree (wenn Sie eine XLOPER zurückgeben) oder xlAutoFree12 (wenn Sie eine XLOPER12 zurückgeben) implementieren.
Beispiel
\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;
}