Dans certains VBA attachés à une feuille de calcul Excel 2003, je dois utiliser certains objets qui mettent du temps à instancier - donc je veux seulement faire la chose 'set' une fois ...Comment savoir si un objet est déjà référencé?
code que d'écrire une explication!
' Declare the expensive object as global to this sheet
Dim myObj As SomeBigExpensiveObject
Private Sub CommandButtonDoIt_Click()
' Make sure we've got a ref to the object
If IsEmpty(myObj) Then ' this doesn't work!
Set myObj = New SomeBigExpensiveObject
End If
' ... etc
End Sub
Comment puis-je vérifier si myObj a déjà été défini?
J'ai essayé IsNull (myObj) et IsEmpty (myObj) - les deux ignorent le 'set', quel que soit l'état de myObj. Je ne peux pas faire
if myObj = Nil then
ou
if myObj = Empty then
ou
if myObj = Nothing then
Toutes les idées?
SAL
Avez-vous essayé CreatObject? – THEn
Cette page a de bonnes informations sur les différences entre vide, nul et rien dans VB/VBA http://beta.blogs.msdn.com/ericlippert/archive/2003/09/30/53120.aspx – Lunatik