none
Excel/VB.NET: Objekterstellung durch ActiveX Komponente nicht möglich RRS feed

  • Allgemeine Diskussion

  • 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.


    Samstag, 3. Juni 2017 22:50

Alle Antworten

  • Hallo JörgNordhausen,

    Um das Problem zu beheben, öffne die Komponentendienste in den Verwaltungstools, in denen Du die Berechtigungen ändern könntest. Weitere Informationen über die durchzuführenden Schritten findest Du im folgenden Thread:
    ASP.NET Cannot create ActiveX component

    Gruß,

    Ivan Dragov


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Montag, 5. Juni 2017 07:06
    Administrator