none
VBA - Dynamisch erzeugte Elemente verfügen nicht über alle Events RRS feed

  • Frage

  • Wenn ich in Excel-VBA (Office 365) in einem Klassenmodul bspw. folgenden Code schreibe:

    Private WithEvents EventTextBox As MSForms.TextBox
    Private WithEvents EventControl As MSForms.Control
    
    Sub ActivateEvents(TextboxRef As MSForms.TextBox)
        Set EventTextBox = TextboxRef 
    End Sub

    ... stehen der EventTextBox innerhalb des Moduls nur die Events zur Verfügung, die die TextBox-Klasse offenbar nicht von Control geerbt hat. D.h. Events wie 

    Private Sub EventTextBox_Change()

    ...

    End Sub

    Private Sub EventTextBox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    ...

    End Sub

    ... funktionieren, nicht jedoch...

    Private Sub EventTextBox_Enter()

    ...

    End Sub

    Private Sub EventTextBox_Exit()

    ...

    End Sub

    Ausgerechnet das Enter-Event benötige ich jedoch dringend für mein Projekt. Wenn ich als Workaround die fehlenden Events über das EventControl-Objekt abwickeln möchte, erscheint die Fehlermeldung "Objekt oder Klasse unterstützt diese Ereignismenge nicht".

    Private WithEvents EventTextBox As MSForms.TextBox
    Private WithEvents EventControl As MSForms.Control
    
    Sub ActivateEvents(TextboxRef As MSForms.TextBox)
        Set EventControl = TextboxRef 'Objekt oder Klasse unterstützt diese Ereignismenge nicht
    End Sub


    • Bearbeitet Guido_T Donnerstag, 29. April 2021 13:40
    Donnerstag, 29. April 2021 13:25

Alle Antworten