此问题是上一个问题的扩展:Return an object in VBA
现在,我想知道如何在VBA中声明和初始化对象。看起来我会这样做:
Declare Function ConnectMe Lib "C:\Windows\System32\cm.dll" (ByVal Arg1 As String) As ConnectMe
Declare Function login Lib "C:\Windows\System32\cm.dll" (ByVal Arg1 As String, ByVal Arg2 As String) As Boolean然后,在这一行下面,我可以使用以下代码:
dim cm as new ConnectMe
cm.ConnectMe("216.239.51.99")
cm.login("username","password")然而,当我这样做的时候,它给我一个“用户定义的类型没有定义”的错误。如何正确地声明这个C++类,以便在VBA中创建和使用实例?
谢谢。
发布于 2011-10-05 01:01:10
这段代码永远不会像现在这样工作。如果你想在Windows下的C++中创建一个类,并在任何其他非C++的编程语言中使用它(例如VB),如果你需要绘制图形,“正常”的方法是创建一个COM class或一个ActiveX control。
您可能还会发现中的this answer非常有用。
发布于 2011-10-05 00:57:45
我又来了:D
要在函数中使用此代码,请使用:
Dim cm as Object
set cm = ConnectMe("parameter")
if cm.login("username","password") then
msgbox "Connect!",vbinformation
else
msgbox "not connect!",vbinformation
end ifhttps://stackoverflow.com/questions/7651322
复制相似问题