//vba代码
dim newprice(10) '定义一个一维数组,里面有10个浮点型数值
Dim MyAddin '创建一个变量
Set MyAddin = CreateObject("MyActiveXDemo.VBSAddin")
MyAddin.ArrTest5(newprice)
//------------------------------------------
//c++编写的VBSAddin
//ArrTest5是用来接收这个数组,并把数组的第一个值显示出来。
LONG VBSAddin::ArrTest5(VARIANT &arr)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// 接收模块。目的: arr=newprice ,请问接收代码怎么写?
//接收代码: ................................
//显示模块,显示数组的第一个值
CString strValue;
strValue.Format(L"%f",arr[0]);
AfxMessageBox(strValue);
//求助!这个问题已经花了我好几天的时间了,网上的资料太少,只是说通过VARIANT 结合SAFEARRAY 来实现。但到现在还是不知道该如何实现
return 0;
}
LONG VBSAddin::ArrTest5(VARIANT &arr) //这一行这样写是否有问题?
本人用的是 visual studio 2012 来写这个ActiveX组件