Vraag : Ole objecten VBA het verpakken

Hallo,

I am schijnt een voorwerp OLE in een klasse (zoals kan ik mijn eigen gebeurtenissen enz. toevoegen) probeert te verpakken
Unfortunately, het slechts te werken als het Voorwerp OLE manueel created.

If is het in mijn klasse of zelfs in de macro die het voorwerp gebruikt wordt gecre�ërd, gaat het van werkingsgebied aan het eind van de macro uit en veroorzaakt de beëindiging van mijn verpakkend voorwerp, zelfs als mijn voorwerp een globale variable.

The na toont dit punt is: de module

class riep Obj:

Private p_oleCtl als OLEObject
Property Vastgestelde Geplaatste ActiveXControl (ByVal oleCtl als OLEObject)
p_oleCtl = oleCtl
End Property
Property krijgt ActiveXControl () als OLEObject
Vastgestelde ActiveXControl = p_oleCtl
End Property
Private SubClass_Terminate ()
MsgBox de module/>Regular van het „eind "
End Sub

Dim GlobalObj als Obj
Sub CreateButton ()
Call ActiveSheet.OLEObjects.Add (ClassType: = De Test/>Sub van " Forms.CommandButton.1“)
End Sub

Call CreateButton
Set GlobalObj = Nieuwe Obj
Set GlobalObj.ActiveXControl de Test/>when = van ActiveSheet.OLEObjects (wordt 1)
End Sub

It is niet displaid als ik eerst CreateButton en dan Test (zonder de vraag aan CreateButton) in werking stel.

Strangely, de zelfde kwestie komt voor zelfs als het verpakte voorwerp OLE een globale aanwijzing variable.

Any is in verband met waarom dit als dat en is hoe te rond het te werken?

Many Thanks

Antwoord : Ole objecten VBA het verpakken

Door een activexvoorwerp toe te voegen brengt u effectief het codeterugstellen (omdat zij een deel van vbproject worden) teweeg. Als u werkelijk dit moet doen, zou ik voorstellen gebruikend een OnTime macro om de variabele toe te wijzen nadat u het hebt gecre�ërd.
Andere oplossingen  
 
programming4us programming4us