Hallo,
ik probeer vanuit de code dynamisch oleobjecten te creëren en deze terug te verwijderen wanneer ze de focus verliezen.
Het creëren geeft geen problemen:
Set oleObj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1")
oleObj.Left = rIntersect.Left
oleObj.Top = rIntersect.Top
oleObj.Width = rIntersect.Width
oleObj.Height = rIntersect.Height
oleObj.LinkedCell = rIntersect(1, 1).AddressLocal(, , xlA1)
Vervolgens koppel ik het oleObject aan een klasse instantie die de eventhandling enabled:
# klasse definitie cOleObjectEvent
Public WithEvents myObj As OLEObject
Private Sub myObj_LostFocus()
myObj.Delete
End Sub
# koppeling maken
If OleObjEvent Is Nothing Then Set OleObjEvent = New cOleObjectEvent
Set OleObjEvent.myObj = oleObj
oleObj.Activate
Uiteindelijk geeft dit de foutmelding "Object or class does not support the set of events" wanneer ik de koppeling probeer te leggen.
Iemand enig idee hoe dit te omzeilen? Waarom voorzien ze deze event wanneer je hem niet dynamisch kunt gebruiken?
Alvast bedankt....
ik probeer vanuit de code dynamisch oleobjecten te creëren en deze terug te verwijderen wanneer ze de focus verliezen.
Het creëren geeft geen problemen:
Set oleObj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1")
oleObj.Left = rIntersect.Left
oleObj.Top = rIntersect.Top
oleObj.Width = rIntersect.Width
oleObj.Height = rIntersect.Height
oleObj.LinkedCell = rIntersect(1, 1).AddressLocal(, , xlA1)
Vervolgens koppel ik het oleObject aan een klasse instantie die de eventhandling enabled:
# klasse definitie cOleObjectEvent
Public WithEvents myObj As OLEObject
Private Sub myObj_LostFocus()
myObj.Delete
End Sub
# koppeling maken
If OleObjEvent Is Nothing Then Set OleObjEvent = New cOleObjectEvent
Set OleObjEvent.myObj = oleObj
oleObj.Activate
Uiteindelijk geeft dit de foutmelding "Object or class does not support the set of events" wanneer ik de koppeling probeer te leggen.
Iemand enig idee hoe dit te omzeilen? Waarom voorzien ze deze event wanneer je hem niet dynamisch kunt gebruiken?
Alvast bedankt....