xlAutoRegister/xlAutoRegister12

适用于:Excel 2013 | Office 2013 | Visual Studio

每当调用 XLM 函数 REGISTER 或 C API 等效的 xlfRegister 函数时,Excel 将调用 xlAutoRegister 函数,但注册的函数的返回和参数类型缺失。 它允许 XLL 搜索其导出函数的内部列表和命令,以使用指定的参数和返回类型注册函数。

从 Excel 2007 开始,如果 xLL 导出 xlAutoRegister 函数,Excel 会优先调用 xlAutoRegister12 函数。

Excel 不需要 XLL 来实现和导出其中任一函数。

注意

如果 xlAutoRegister/ xlAutoRegister12 尝试注册函数而不提供参数和返回类型,则会发生递归调用循环,最终溢出调用堆栈并崩溃 Excel。

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

参数

pxName (xltypeStr)

正在注册的 XLL 函数的名称。

属性值/返回值

函数应返回尝试使用 xlfRegister 函数注册 XLL 函数 pxName 的结果。 如果指定的函数不是 XLL 的导出之一,则它应返回 #VALUE! 错误,或 NULL,Excel 将在 #VALUE!

备注

xlAutoRegister 的实现应通过 XLL 的内部函数列表以及它导出的命令执行不区分大小写的搜索,以查找与传入名称的匹配项。 如果找到函数或命令, xlAutoRegister 应尝试使用 xlfRegister 函数注册该函数,确保提供告知 Excel 函数的返回和参数类型的字符串,以及有关该函数的任何其他必需信息。 然后,无论返回了对 xlfRegister 的调用,它都应返回到 Excel。 如果成功注册函数, xlfRegister 将返回包含函数的 Register ID 的 xltypeNum 值。

示例

有关此函数的示例实现,请参阅 文件 SAMPLES\EXAMPLE\EXAMPLE.C

另请参阅

注册

注销