CALL 函数


本文介绍 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)