COM-DLL für VBA

Proggi76

Grünschnabel
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:

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
gibt's die Fehlermeldung: DLL-Einstiegspunkt nicht gefunden...

Muss ich noch die dll über VB-Express anpassen, oder funktioniert der Aufruf aus VBA anders?
 
Den Verweis kann ich nun setzten, jedoch erhalte ich bei Aufruf der Public Function einen Automatisierungsfehler. Gibt's bestimmte Datentypen, die ich verwenden muss oder darf?
 

Neue Beiträge

Zurück