Bonjour,
Je voudrais qu'une variable contienne le nom d'un objet sur lequel je pourrais donc appeler ses méthodes.
Pour ceux qui connaissent php, ça serait l'équivalent du $$variable.
Si ça dit quelque chose à quelqu'un...
Merci !
Version imprimable
Bonjour,
Je voudrais qu'une variable contienne le nom d'un objet sur lequel je pourrais donc appeler ses méthodes.
Pour ceux qui connaissent php, ça serait l'équivalent du $$variable.
Si ça dit quelque chose à quelqu'un...
Merci !
Salut,
Si j'ai compris, il te suffit de déclarer ta variable du même type que l'objet
Code:
1
2
3 Dim maVariable As typedetonobjet Set maVaraible = MonObjet
Bonsoir,
Si, par contre, c'est ce que j'ai compris et qu'il veut usiliser une variable en se servant de la chaîne de caractères représentant son nom, la chose n'est pas possible sous VB.
Sauf en ce qui concerne les noms de contrôles (et pas les autres objets), en utilisant la collection Controls.
Exactement comme avec php ce n'est pas possible mais si tu acceptes d'affecter l'objet en question à un object intermédiaire
c'est alors possible avec l'objet Dictionary de la librairie Microsoft Scripting Runtime (La même qui gère le File System Object)
exemple
Dans l'exemple ci-dessus Dict("newVar") contient l'object fso alors que Dict("otherVar") contient la collection Drives .Code:
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 Dim Dict As New Dictionary, fso As New FileSystemObject, myVar As String, tmpVar As String ' 1ère entrée du Dictionary myVar = "newVar" Dict.Add myVar, 0 Set Dict(myVar) = fso ' 2ème entrée du Dictionary myVar = "otherVar" Dict.Add myVar, 1 Set Dict(myVar) = fso.Drives Set fso = Nothing '.../... 'et ensuite tmpVar = "newVar": Debug.Print Dict(tmpVar).FileExists("E:\testForUpload.txt") 'équivalent à Debug.Print Dict("newVar").FileExists("E:\testForUpload.txt") 'avec Debug.Print "Dict(0) = "; Dict.Keys(0) 'et tmpVar = "otherVar": Debug.Print Dict(tmpVar).Count 'équivalent à Debug.Print Dict("otherVar").Count 'avec Debug.Print "Dict(1) = "; Dict.Keys(1)
Les 2 pouvant être identifiés et appelés par l'intermédiaire d'une variable string et inversement.
Dictionary est un object méconnu mais assez puissant.