xlAddInManagerInfo/xlAddInManagerInfo12xlAddInManagerInfo/xlAddInManagerInfo12

適用対象: Excel 2013 | Office 2013 | Visual StudioApplies to: Excel 2013 | Office 2013 | Visual Studio

アドイン マネージャーが Excel セッションで初めて呼び出されたときに、Microsoft Excel によって呼び出されます。この関数は、ご使用のアドインについての情報をアドイン マネージャーに提供するために使用されます。Called by Microsoft Excel when the Add-in Manager is invoked for the first time in an Excel session. This function is used to provide the Add-In Manager with information about your add-in.

Excel 2007 以降のバージョンでは、XLL によってエクスポートされる場合には xlAddInManagerInfo ではなく xlAddInManagerInfo12 が呼び出されます。xlAddInManagerInfo12 関数は、xlAddInManagerInfo と同じように機能して、XLL の動作におけるバージョン固有の相違点を回避する必要があります。Excel では xlAddInManagerInfo12XLOPER12 データ型を返し、xlAddInManagerInfoXLOPER データ型を返す必要があります。Excel 2007 and later versions call xlAddInManagerInfo12 in preference to xlAddInManagerInfo if exported by the XLL. The xlAddInManagerInfo12 function should work in the same way as xlAddInManagerInfo to avoid version-specific differences in the behavior of the XLL. Excel expects xlAddInManagerInfo12 to return an XLOPER12 data type, whereas xlAddInManagerInfo should return an XLOPER.

xlAddInManagerInfo12 関数は Excel 2007 より前の Excel バージョンでは呼び出されません。XLOPER12 をサポートしていないためです。The xlAddInManagerInfo12 function is not called by versions of Excel earlier than Excel 2007, as these do not support the XLOPER12.

Excel では、XLL がこれらいずれかの関数を実装してエクスポートすることは不要です。Excel does not require an XLL to implement and export either of these functions.

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

パラメーターParameters

pxAction: 数値 XLOPER/XLOPER12 (xltypeInt または xltypeNum) へのポインター。pxAction: A pointer to a numeric XLOPER/XLOPER12 (xltypeInt or xltypeNum).

Excel で要求される情報です。The information that Excel is asking for.

プロパティ値/戻り値Property Value/Return Value

pxAction が数値 1 の場合 (1 になるよう強制することもできます)、この関数を実装すると、アドインについての情報 (通常は名前。バージョン番号が含まれることもあります) が含まれる文字列が返ります。それ以外の場合、#VALUE を返します。If pxAction is, or can be coerced to, the number 1, then your implementation of this function should return a string containing some information about the add-in, typically its name and perhaps a version number. Otherwise it should return #VALUE!.

文字列を返さない場合、Excel が戻り値を文字列に変換しようとします。If you do not return a string, Excel tries to convert the returned value to a string.

注釈Remarks

返される文字列が、動的に割り当てられたバッファーをポイントしている場合は、このバッファーを最終的に解放する必要があります。文字列が Excel によって割り当てられた場合、xlbitXLFree を設定して解放します。文字列が DLL によって割り当てられた場合には、xlbitDLLFree を設定して解放します。さらに、xlAutoFree (XLOPER を返す場合) または xlAutoFree12 (XLOPER12 を返す場合) も実装しなければなりません。If the returned string points to dynamically allocated buffer, you must make sure that this buffer is eventually freed. If the string was allocated by Excel, you do this by setting xlbitXLFree. If the string was allocated by the DLL, you do this by setting xlbitDLLFree, and you must also implement in xlAutoFree (if you are returning an XLOPER) or xlAutoFree12 (if you are returning an XLOPER12).

Example

\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;
} 

関連項目See also

アドイン マネージャーと XLL インターフェイス関数Add-in Manager and XLL Interface Functions