本文介绍 Microsoft Excel 中 CALL 函数的公式语法和用法。
调用动态链接库或代码源中的过程。此函数有两种语法形式。语法 1 只能用于已经注册的代码源,该代码源使用 REGISTER 函数的参数。语法 2a 或 2b 可以同时注册并调用代码源。
重要: 此函数仅适用于高级用户。如果不能正确使用函数 CALL,将会引起错误,而需要重新启动计算机。此函数只在 Excel 宏表中可用。
语法 1
与 REGISTER 配合使用
CALL(register_id,[argument1],...)
语法 2
单独使用(在 Microsoft Excel for Windows 中)
Register_id 它是以前执行的 REGISTER 或 REGISTER.ID 函数返回的值。
CALL(module_text,procedure,type_text,[argument1],...])
CALL 函数语法具有下列参数:
Module_text 必需。带引号的文本,用于指定动态链接库 (DLL) 的名称,该链接库包含 Microsoft Excel for Windows 中的过程。
Procedure 必需。用于指定 Microsoft Excel for Windows 的 DLL 中的函数名称的文本。还可以使用函数的序数值,该值来自模块定义文件 (.DEF) 中的 EXPORTS 语句。序数值不能为文本形式。
Type_text 必需。指定返回值的数据类型以及 DLL 或代码源的所有参数的数据类型的文本。Type_text 的首字母指定返回值。有关 type_text 所使用的代码的详细信息,请参阅使用 CALL 和 REGISTER 函数。对于独立的 DLL 或代码源 (XLL),可以省略此参数。
Argument1,... 可选。要传递到过程的参数。
下面的宏公式可注册 32 位 Microsoft Windows 中的 GetTickCount 函数。GetTickCount 函数以毫秒为单位返回 Microsoft Windows 的运行时间。
REGISTER("Kernel32","GetTickCount","J")
假设函数 REGISTER 在单元格 A5 中,在宏注册 GetTickCount 函数之后,可用 CALL 函数返回已经运行的毫秒数:
CALL(A5)