Questione : Spostamento ole dell'oggetto di VBA

Ciao,

I che prova a spostare un oggetto OLE in un
Unfortunately, del codice categoria (come posso aggiungere i miei propri eventi ecc.) sembra funzionare soltanto se l'oggetto OLE è manualmente created.

If che è generato nel mio codice categoria o persino nella macro che usa l'oggetto, esce di portata alla conclusione della macro ed induce il termine del mio oggetto di spostamento, anche se il mio oggetto è esposizioni seguenti globali di variable.

The questo punto: il modulo del

class ha denominato Obj: il p_oleCtl del

Private come il p_oleCtl del
di OLEObject
Property ActiveXControl (oleCtl di ByVal come OLEObject) = oleCtl
End Property
Property ottiene ActiveXControl () mentre OLEObject
modulo secondario stabilito del
Regular del
End Sub
“dell'estremità " del
MsgBox del p_oleCtl
End Property
Private Class_Terminate ():
Dim GlobalObj del
come
Call ActiveSheet.OLEObjects.Add (ClassType di Obj
Sub CreateButton (): = "
Set GlobalObj del
Call CreateButton della prova del
End Sub

Sub di Forms.CommandButton.1„) () = nuovo Obj
Set GlobalObj.ActiveXControl = ActiveSheet.OLEObjects (prova di 1)
End Sub

when è funzionato, il msgbox “estremità„ è displaid.
It non è displaid se faccio funzionare CreateButton in primo luogo ed allora provo (senza la chiamata a CreateButton). il

Strangely abbastanza, la stessa edizione accade anche se l'oggetto OLE spostato è un indizio globale di variable.

Any quanto a perché questo è come quello ed a come funzionare intorno esso?

Many Thanks
class= del

Risposta : Spostamento ole dell'oggetto di VBA

Aggiungendo un oggetto di activex innescate efficace una risistemazione di codice (perché si trasformano in in parte del vbproject). Se realmente dovete fare questo, suggerirei di usando una macro di OnTime per assegnare la variabile dopo che la avete generata.
Altre soluzioni  
 
programming4us programming4us