从 Qt 调用 Excel 中用户定义的 VBA 函数

Call user defined VBA functions in Excel from Qt

众所周知,在Qt(或其他C++环境)中我们可以使用QActiveX来操作Excel。但是如果工作簿中有一些用户定义的 VBA 函数,有什么方法可以传递参数并调用它们?

您可以使用方法名称和参数调用 QAxObject::dynamicCall。

Worksheet.Evaluate 和 Application.Evaluate 很容易使用。它们采用一个字符串参数,因此您需要以 UDFName(parameter1,parameter2, ...) 的形式编写脚本。而且因为字符串到UDF参数类型的转换,他们比Application.Run.

Application.Run也可以用来调用UDF。第一个参数是UDF名称,其余参数按位置传递给UDF。