VB偏门技术:CallByName 执行字符串在模块中无法成功!!!
这几天因工作需要,程序要执行字段中的字符串,此字符串在程序中有对应的涵数
Function ReturnThis()
ReturnThis =123
End Function
runcode=rs("runcode") 得到的就是"ReturnThis"
经测试,在窗体中使用就可以
Request = CallByName(Me, runcode, VbMethod)
但如果这些代码是在类块里进行的,就不行了。Me它无法代表Module1,
Request = CallByName(XXXXX, runcode, VbMethod)
工程为ActiveX DLL 没有窗体,Module1我试了不行,XXXX处要用什么代替当前对像,Me? this? app? vba? 谢谢了。
[解决办法]
'能不能考虑先把你要执行的函数写到一个固定的类里?
Class TestClass
function ReturnThis() as integer
return 123
end function
end class
'然后使用时先实例化你的类
public sub test(byval runcode as string)
dim oCls as new TestClass()
dim request as object
request = CallByName(oCls, runcode, VbGet)
end sub