1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| Sub ClassNamer()
Dim MyClasses As New Collection ' Crée un objet
' Collection.
Dim Num ' Compteur permettant dindividualiser
' les clés.
Dim Msg As String ' Variable devant contenir
' la chaîne dinvite.
Dim TheName, MyObject, NameList ' Variants devant
' contenir les
' données.
Do
Dim Inst As New Class1 ' Crée une nouvelle
' instance de Class1.
Num = Num + 1 ' Incrémente dune unité la
' valeur de Num, puis obtient
' un nom.
Msg = "Veuillez affecter un nom à cet objet." _
& Chr(13) & "Appuyez sur Annuler pour " & _
" afficher les noms présents dans la " & _
" collection."
TheName = InputBox(Msg, _
"Nommez les éléments de Collection")
Inst.InstanceName = TheName ' Place le nom dans
' linstance de
' lobjet.
' Si lutilisateur a saisi un nom, ajoute
' celui-ci à la collection.
If Inst.InstanceName <> "" Then
' Ajoute lobjet nommé à la collection.
MyClasses.Add item := Inst, key := CStr(Num)
End If
' Efface la référence en cours en prévision
' de la suivante.
Set Inst = Nothing
Loop Until TheName = ""
For Each MyObject In MyClasses ' Crée une liste
' des noms.
NameList = NameList & MyObject.InstanceName & _
Chr (13)
Next MyObject
' Affiche la liste des noms dans une zone
' de message.
MsgBox NameList, , "Noms des instances " & _
"présentes dans la collection MyClasses"
For Num = 1 To MyClasses.Count ' Supprime le nom de
' la collection.
MyClasses.Remove 1 ' Puisque les collections
' sont réindexées
' automatiquement, supprime le premier
Next ' membre à chaque itération.
End Sub |
Partager