Question : Vieux emballage d'objet de VBA

Bonjour, le

I AM essayant d'envelopper un VIEUX objet dans un
Unfortunately, il de classe (telle que moi peux ajouter mes propres événements etc.) semble fonctionner seulement si le VIEUX objet est manuellement created.

If qu'il est créé dans ma classe ou même dans le macro qui emploient l'objet, il sort de la portée à la fin du macro et induit l'arrêt de mon objet de emballage, même si mon objet est des expositions suivantes globales de variable.

The ce point : le module du

class a appelé Obj : le p_oleCtl du

Private en tant que le p_oleCtl = oleCtl
End Property
Property du
d'OLEObject
Property ActiveXControl (oleCtl de ByVal comme OLEObject) obtiennent ActiveXControl () pendant qu'OLEObject
module secondaire réglé du
Regular du
End Sub
de « extrémité " du
MsgBox d'ActiveXControl = de p_oleCtl
End Property
Private Class_Terminate () :
/>Dim GlobalObj comme
Call ActiveSheet.OLEObjects.Add (ClassType d'Obj
Sub CreateButton () : =
Set GlobalObj du
Call CreateButton d'essai du
End Sub

Sub de " Forms.CommandButton.1 ») () = nouvel Obj
Set GlobalObj.ActiveXControl = ActiveSheet.OLEObjects (essai de 1)
End Sub

when est couru, le msgbox « extrémité » est displaid.
It n'est pas displaid si je cours CreateButton d'abord et examine ensuite (sans appel à CreateButton). le

Strangely, la même issue se produit même si le VIEUX objet enveloppé est un indice global de variable.

Any quant à pourquoi c'est comme celui et à la façon travailler autour de lui ?

Many Thanks
class= de

Réponse : Vieux emballage d'objet de VBA

En ajoutant un objet d'activex vous déclenchez effectivement une remise de code (parce qu'ils deviennent une partie du vbproject). Si vous devez vraiment faire ceci, je proposerais d'employer un macro d'OnTime pour assigner la variable après que vous l'ayez créée.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us