VBA面向对象编程

这个问题是上一个问题的扩展: 在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") 

但是,当我这样做,它给了我一个“用户定义types未定义”错误。 我怎样才能正确地声明这个C ++类,以便我可以在VBA中创build和使用一个实例?

谢谢。

这个代码永远不会像现在这样工作。 如果你想在Windows下使用C ++创build一个类,并将其用于任何不是C ++的编程语言(例如VB),那么“常规”方法是创build一个COM类或一个ActiveX控件,如果你需要绘制graphics。

你也可以在这个帮助中find这个答案 。

我在这里再次:D

要在你的函数中使用这个代码,请使用:

 Dim cm as Object set cm = ConnectMe("parameter") if cm.login("username","password") then msgbox "Connect!",vbinformation else msgbox "not connect!",vbinformation end if