我有一个C ++ .xll addIn for Excel。以下测试工作表函数适用于xll加载:
LPXLOPER __stdcall Test()
{
return &xlstring("Yayage",true)
}
即。 = Test()在工作表中返回“Yayage”。 xlstring是我自己的自定义方法,它将字符串转换为excel字符串,并指定excel或xll是否负责释放其内存。
我打算使用VBA为2003及以前的版本生成“GUI伴侣”AddIn,并为2007年开始生成C#Excel 2007 AddIn项目。这些都适用于与Web服务通信的与版本无关的.xll。
C#和VBA都具有以下Excel功能: Application.ExecuteExcel4Macro(串) Application.Evaluate(串) Application.Run(...)
这些工作正常(除了.Run,在C#中,想要获取32个参数)与正常工作表函数返回字符串,例如在VBA:
MsgBox Application.<Any above method>("=Trim("" Billy Bob Fred "")")
制作一个包含“Billy Bob Fred”的消息框
但是,我无法使用任何自定义工作表函数。将它们注册为命令而不是工作表函数也不起作用。
我尝试了不同风格的函数名称,包含和不包含= /(),以及我能想到的其他所有内容。
任何人都可以帮我吗?
答案 0 :(得分:1)
你的xlstring是否返回临时对象的地址?