【XLL API 函数】xlUDF

调用用户定义函数,这个函数允许DLL 调用 VBA 中的用户定义函数,XLM 宏语言函数,以及在其它 add-ins 中注册的函数。

原型

Excel12(xlUDF, LPXLOPER12 pxRes, int iCount, LPXLOPER12 pxFnRef,LPXLOPER12 pxArg1, ...);

参数

pxFnRef ( xltypeRef, xltypeSRef, xltypeNum)

表示你要调用的函数。它可以是一个宏表单元格引用 ,注册的函数名称字符串 或是 注册的函数ID。使用 xlfRegister 和 REGISTER 注册函数。ID 可以使用 xlfEvaluate 函数获取。

pxArg1,...

将零个或多个参数传递给 用户定义函数。

返回值

将调用的函数的返回值做为它自己的返回值。

实例

The following example runs TestMacro on sheet Macro1 in BOOK1.XLS. Make sure that the macro is on a sheet named Macro1.

SAMPLESEXAMPLEEXAMPLE.C

short WINAPI xlUDFExample(void)
{       
   XLOPER12 xMacroName, xMacroRef, xRes;

   xMacroName.xltype = xltypeStr;
   xMacroName.val.str = L"44[BOOK1.XLSX]Macro1!TestMacro";
   Excel12(xlfEvaluate, &xMacroRef, 1, (LPXLOPER12)&xMacroName);
   Excel12(xlUDF, &xRes, 1, (LPXLOPER12)&xMacroRef);
   return 1;
}
原文地址:https://www.cnblogs.com/boluoke/p/5984194.html