xlAutoRegister/xlAutoRegister12xlAutoRegister/xlAutoRegister12

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

登録対象の関数の戻り値の型と引数の型がない状態で、XLM 関数 REGISTER、または C API の同等の xlfRegister 関数に対する呼び出しが実行されると、常に Excel は xlAutoRegister 関数を呼び出します。Excel calls the xlAutoRegister function whenever a call has been made to the XLM function REGISTER, or the C API equivalent xlfRegister function, with the return and argument types of the function being registered missing. It allows the XLL to search its internal lists of exported functions and commands to register the function with the argument and return types specified.

Excel 2007 以降では、xlAutoRegister12 関数が XLL によってエクスポートされている場合、Excel はこの関数を xlAutoRegister 関数よりも優先して呼び出します。Starting in Excel 2007, Excel calls the xlAutoRegister12 function in preference to the xlAutoRegister function if it is exported by the XLL.

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

注意

xlAutoRegister/ xlAutoRegister12 が引数の型と戻り値の型を指定しないで関数を登録しようとすると、最終的にコール スタックがオーバーフローし、Excel がクラッシュする原因となる再帰呼び出しのループが発生します。If xlAutoRegister/ xlAutoRegister12 tries to register the function without supplying the argument and return types, a recursive calling loop occurs which eventually overflows the call stack and crashes Excel.

LPXLOPER12 WINAPI xlAutoRegister12(LPXLOPER12 pxName);
LPXLOPER WINAPI xlAutoRegister(LPXLOPER pxName);

パラメーターParameters

pxName (xltypeStr)pxName (xltypeStr)

登録される XLL 関数の名前です。The name of the XLL function that is being registered.

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

この関数は、xlfRegister 関数を使用して XLL 関数 pxName を登録を試行した結果を返します。指定した関数が XLL ファイルのエクスポートの 1 つでない場合、関数は #VALUE! エラーを返すか、Excel が #VALUE! と解釈する NULL を返す必要があります。The function should return the result of the attempt to register the XLL function pxName using the xlfRegister function. If the specified function is not one of the XLL's exports, it should return the #VALUE! error, or NULL which Excel will interpret at #VALUE!.

注釈Remarks

xlAutoRegister の実装では、エクスポートする XLL ファイルの関数とコマンドの内部リストで大文字小文字を区別する検索を実行して、渡された名前との一致を検索する必要があります。関数またはコマンドが見つかった場合、xlAutoRegisterxlfRegister 関数を使用し、Excel に関数の戻り値の型と引数の型、および関数に関するその他の必要情報を指示する文字列を指定して、登録を試行する必要があります。これは、xlfRegister に対する呼び出しが返された場合にも、Excel に返す必要があります。関数が正常に登録された場合、xlfRegister は関数の登録 ID を含む xltypeNum 値を返します。Your implementation of xlAutoRegister should perform a case-insensitive search through your XLL's internal lists of the functions and commands it exports looking for a match with the passed-in name. If the function or command is found, xlAutoRegister should attempt to register it, using the xlfRegister function, making sure to provide the string that tells Excel the return and argument types of the function, as well as any other required information about the function. It should then return to Excel whatever the call to xlfRegister returned. If the function was registered successfully, xlfRegister returns an xltypeNum value containing the Register ID of the function.

Example

この関数の実装例については、ファイル SAMPLES\EXAMPLE\EXAMPLE.C を参照してください。See the file SAMPLES\EXAMPLE\EXAMPLE.C for an example implementation of this function.

関連項目See also

REGISTERREGISTER

UNREGISTERUNREGISTER