für ein VBA-Projekt benötige ich eine COM-DLL.
Diese COM-DLL möchte ich nun in VB-Express 2005 erstellen. Hierzu habe ich ein neues Projekt als Klassenbibliothek erstellt und COM-Klasse und COM sichtbar auf true eingestellt. Die Klasse selbst beinhaltet folgenden Code zum Test:
Muss ich noch was weiter machen, damit es eine "richtige" COM-Dll ist?
Wie binde ich die dll in einem VBA-Projekt ein?
Über Verweise hinzufügen erhalte ich die Fehlermeldung: Verweis auf angegebene Datei kann nicht hinzugefügt werden.
Über Declare Function-Aufruf mit:
gibt's die Fehlermeldung: DLL-Einstiegspunkt nicht gefunden...
Muss ich noch die dll über VB-Express anpassen, oder funktioniert der Aufruf aus VBA anders?
Diese COM-DLL möchte ich nun in VB-Express 2005 erstellen. Hierzu habe ich ein neues Projekt als Klassenbibliothek erstellt und COM-Klasse und COM sichtbar auf true eingestellt. Die Klasse selbst beinhaltet folgenden Code zum Test:
Code:
<ComClass(Test.ClassId, Test.InterfaceId, Test.EventsId)> <System.Serializable()> Public Class Test
Public Const ClassId As String = "CE95C2CA-30AD-43aa-AAA2-767D24055CAC"
Public Const InterfaceId As String = "7F88201C-2B41-4f3d-9FB1-6A96E71D74BA"
Public Const EventsId As String = "E8B2889D-5A0A-4c15-9BFB-76FB4D49D3A1"
Public Sub New()
MyBase.New()
End Sub
<System.Runtime.InteropServices.DispId(1)> Public Function callMe() As String
callMe = "class Test"
End Function
End Class
Muss ich noch was weiter machen, damit es eine "richtige" COM-Dll ist?
Wie binde ich die dll in einem VBA-Projekt ein?
Über Verweise hinzufügen erhalte ich die Fehlermeldung: Verweis auf angegebene Datei kann nicht hinzugefügt werden.
Über Declare Function-Aufruf mit:
Code:
Public Declare Function callMe Lib "c:.....Test.dll" Alias "Test.callMe" () As String
Muss ich noch die dll über VB-Express anpassen, oder funktioniert der Aufruf aus VBA anders?