Этот вопрос является продолжением предыдущего вопроса: Return an object in VBAVBA объектно-ориентированное программирование
Теперь я хотел бы знать, как объявить и инициализировать объект в 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")
Однако, когда я это делаю, это дает мне «User «Определенный тип не определен». Как я могу объявить этот класс C++ соответствующим образом, чтобы создать и использовать экземпляр в VBA?
Спасибо.
Но как объявить функцию доступной? Я думаю, что @yms верен, что мне нужно приблизиться к этому с совершенно другого ракурса. –
Сэм посмотрим, что http://msdn.microsoft.com/en-us/library/bb687915.aspx на этой странице имеет тот же ответ. –
Я нашел то, что, как я полагаю, вы имеете в виду: «[Public | Private] Объявить имя функции Lib« libname »[Alias« aliasname »] [([arglist])] [As type]« Однако, когда я пытаюсь указать класс «ConnectMe» с «Объявить функцию ConnectMe Lib» C: \ Windows \ System32 \ cm.dll »(ByVal Arg1 As String) Как ConnectMe« он жалуется на пользовательский тип. Какие-либо предложения? –