.NET Assembly als COM Object und in VBA nutzen

RedWraith

Mitglied
Hallo !

Wie der Titel schon sagt, möchte ich mit einer von mir geschriebenen DLL neue Funktionen in VBA bereitstellen. Das ganze hat auch auf meinem Heimrechner bisher super funktioniert, aber als ich das Ganze dann auf meinem Arbeitsrechner ebenfalls machen wollte, bin ich in ein Problem gerannt. Und zwar bekomme ich, wenn ich in VBA ein COM Object meiner registrierten Klasse festlegen möchte folgenden Fehler:

Code:
Laufzeitfehler '-2146234105 (80131107)':

Automatisierungsfehler

Ließt man das Err-Objekts aus, bekommt man folgendes:
Code:
Das Format der Datei Excel08 ist ungültig

Die beiden Maschinen laufen mit folgenden Konfigurationen:

Heimrechner:
MS Windows Vista Business 64Bit
MS Office 2003
MS Visual Studio 2005
MS .NET Framework 3.5

Arbeitsrechner:
MS Windows XP Pro
MS Office 2003
MS Visual Studio 2005
MS .NET Framework 3.5


Ich habe in Visual Studio ein Klassenbibliotheks-Projekt erstellt, diesen signiert (Strong Name) und dann folgenden Code kompiliert.

Code:
<System.Runtime.InteropServices.ComVisible(True)> _
<Microsoft.VisualBasic.ComClass()> _
Public Class TGTools
    Public Sub TestFunktion()
        MsgBox("Hai")
    End Sub
End Class

Anschließend wird die Datei noch mit RegAsm.exe als COM Bibliothek registriert.

Code:
RegAsm.exe Excel08.dll /codebase /tlb:Excel08.tlb


Anschließend hab ich ein neues Excel Dokument erstellt, meine neue registrierte Bibliothek über Verweise... eingefügt, im Objektkatalog überprüft ob Bibliothek, Klasse und Funktion richtig angezeigt werden und im VBA Editor folgende Funktion erstellt:
Code:
Public Sub test()

    Dim obj As Object
    
    Set obj = CreateObject("Excel08.TGTools")
    
    obj.TestFunktion
End Sub

Auf meinem Heimrechner funktioniert das Ganze so, aber auf meinem Arbeitsrechner wird bei der CreateObject Anweisung oben genannte Fehlermeldung angezeigt.

Kann mir da jemand behilflich sein ? Meine VBA-Kenntnisse sind etwas begrenzt, da ich damit schon immer etwas auf dem Kriegsfuß stand.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück