次の方法で共有


xlAddInManagerInfo/xlAddInManagerInfo12

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

アドイン マネージャーが Excel セッションで初めて呼び出されたときに、Microsoft Excel によって呼び出されます。 この関数は、ご使用のアドインについての情報をアドイン マネージャーに提供するために使用されます。

Excel 2007 以降のバージョンでは、xLL によってエクスポートされた場合は xlAddInManagerInfo に 優先して xlAddInManagerInfo12 が呼び出されます。 xlAddInManagerInfo12 関数は、xlAddInManagerInfo と同じように機能して、XLL の動作におけるバージョン固有の相違点を回避する必要があります。 Excel では、xlAddInManagerInfo12XLOPER12 データ型を返し、xlAddInManagerInfoXLOPER データ型を返す必要があります。

xlAddInManagerInfo12 関数は Excel 2007 より前の Excel バージョンでは呼び出されません。XLOPER12 をサポートしていないためです。

Excel では、XLL がこれらいずれかの関数を実装してエクスポートすることは不要です。

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

パラメーター

pxAction: 数値 XLOPER/XLOPER12 (xltypeInt または xltypeNum) へのポインター。

Excel で要求される情報です。

プロパティ値/戻り値

pxAction が数値 1 である場合、または強制的に実行できる場合、この関数の実装では、アドインに関する情報 (通常は名前とバージョン番号) を含む文字列を返す必要があります。 それ以外の場合は、#VALUE! を返す必要があります。

文字列を返さない場合、Excel が戻り値を文字列に変換しようとします。

注釈

返された文字列が動的に割り当てられたバッファーを指している場合は、このバッファーが最終的に解放されることを確認する必要があります。 文字列が Excel によって割り当てられた場合は、 xlbitXLFree を設定してこれを行います。 文字列が DLL によって割り当てられた場合は、xlbitDLLFree を設定してこれを行い、xlAutoFree (XLOPER を返す場合) または xlAutoFree12 (XLOPER12を返す場合) にも実装する必要があります。

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

関連項目

アドイン マネージャーと XLL インターフェイス関数