0

我有一个用于 Excel 的 C++ .xll 插件。以下测试工作表功能适用于加载的 xll:

LPXLOPER __stdcall Test()
{
    return &xlstring("Yayage",true)
}

即 =Test() 在工作表中返回“Yayage”。xlstring 是我自己的自定义方法,它将字符串转换为 excel 字符串,并指定 excel 或 xll 是否负责释放其内存。

我打算使用 VBA 为 2003 及以前的版本生成一个“GUI 伴侣”插件,以及为 2007 及更高版本生成一个 C# Excel 2007 插件项目。这些都将与与 Web 服务通信的版本无关的 .xll 一起工作。

C# 和 VBA 都具有以下 Excel 函数: Application.ExecuteExcel4Macro(string) Application.Evaluate(string) Application.Run(...)

这些工作正常(除了 .Run ,它在 C# 中需要 32 个参数)与返回字符串的普通工作表函数,例如在 VBA 中:

MsgBox Application.<Any above method>("=Trim(""    Billy   Bob       Fred    "")")

生成一个包含“Billy Bob Fred”的消息框

但是,我无法让它与我的任何自定义工作表函数一起使用。将它们注册为命令而不是工作表函数也不起作用。

我尝试了不同风格的函数名称,有和没有 = / (),以及我能想到的所有其他东西。

谁能帮我这个?

4

1 回答 1

1

您的 xlstring 是否返回临时对象的地址?

于 2011-04-08T19:08:51.280 回答