Seit kurzem funktioniert mein Programm nicht mehr, das bislang einwandfrei lief.
Grundlage: in VB.NET wurde eine Klassenbibliothek programmiert und über ein Setup registriert, die in Excel-VBA über Verweise eingebunden und verwendet wird. Beigefügter Code stellt Typus dar und funktioniert auch nicht:
Imports System.Runtime.InteropServices
Imports WIN32 = Microsoft.Win32
'<ClassInterface(ClassInterfaceType.AutoDual), ComVisible(True)> _
<ComClass(clsIF.ClassId, clsIF.InterfaceId, clsIF.EventsId)> _
Public Class clsIF
#Region "COM-GUIDs"
' Diese GUIDs stellen die COM-Identität für diese Klasse
' und ihre COM-Schnittstellen bereit. Wenn Sie sie ändern, können vorhandene
' Clients nicht mehr auf die Klasse zugreifen.
Public Const ClassId As String = "B75F7817-B109-4872-AAEE-5737DDC184E5"
Public Const InterfaceId As String = "54BB4A6A-5CFD-497F-909A-257D95AECF4C"
Public Const EventsId As String = "EC2AF06E-658A-4C24-B6E5-4BEB2900F9FC"
#End Region
' Eine erstellbare COM-Klasse muss eine Public Sub New()
' ohne Parameter aufweisen. Andernfalls wird die Klasse
' nicht in der COM-Registrierung registriert und kann nicht
' über CreateObject erstellt werden.
Public Sub New()
MyBase.New()
End Sub
Public Function Addiere(x1 As Double, x2 As Double) As Double
Return x1 + x2
End Function
End Class
Eigenartigerweise funktioniert das Programm, wenn es aus der Entwicklungsumgebung aufgerufen wird. Bei Installation sowohl auf dem Entwicklungsrechner als auch auf einem anderen Rechner tritt der Fehler auf. Selbst bei einer früheren Version, die auf allen
Rechnern einwandfrei lief, tritt der Fehler auf.
Registriert wird die DLL über ein Setup: Rgister: vsdrpCOM. Ich habe alternativ ausprobiert, Regasm mit Optionen tlb und codebase zu verwenden.
Umgebung: Win10 und Excel 2007 und 2010.
Wäre schön, wenn jemand weiterhelfen kann.