ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
658
658
EMPFEHLEN
-
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 :1 2 3 4 5 6 7 8 9 10 11 12 13
<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:
gibt's die Fehlermeldung: DLL-Einstiegspunkt nicht gefunden...Code :1
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?
-
Hi
Hast du die Assembly mit regasm für COM registriert?
http://msdn.microsoft.com/en-us/libr...8VS.80%29.aspx
Parameter glaub ich /tlb /codebaseGrüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
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?
-
Hi
Mit Buildin-Typen bist auf jeden Fall auf der sicheren Seite. Was kommt denn genau für ein Fehler?Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)





Zitieren

Login





