Forum Clubic

Accéder aux propriétés d'un objet en vb(a)

Bonjour,
J’avais vu quelque part qu’on pouvait accéder à toutes les propriétés (nom et valeur) d’un objet sous vba
Le problème c’est que je n’ai pas retrouvé le morceau de code qui permettrait d’avoir ça.

Ex de ce que je veux pour une feuille excel dans un Debug.print
Name
DisplayPageBreak
DisplayRightToLeft

Je pense que c’est une boucle de type For Each mais je ne sais pas comment faire.
Quelqu’un peut il m’aider?

j’en conclue donc que personne ne connait la réponse à ma question ici ???

nan, t’es sûr que ça existe?
ça ressemble à de l’introspection en Java: connaître le nom des attributs par prog, et interpréter ensuite l’appel à ces attributs.

il me semble bien que oui
j’avais un objet quelconque avec 3 propriétés, ça me donnait le nom des propriétés et leur valeur

après de plus mûres recherches, je me demande si je ne me suis pas trompé
l’année dernière j’utilisais les wmi et j’avais trouvé ce type de script:


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
    ("Select * from Win32_LogicalDisk")
For Each objDisk in colDisks
    Wscript.Echo "DeviceID: "& vbTab &  objDisk.DeviceID  
    Wscript.Echo "File System: "& vbTab & objDisk.FileSystem
Next

Je pensais qu’il existait le même type de routine pour accéder aux propriétés d’un objet

c’est l’équivalent de la fonction var_dump de php que je cherche.

Vu que c’est plus ou moins interprété, c’est bizarre qu’il n’y ait pas une fonction pour exécuter une String comme du code.

bref j’ai plusieurs pistes: l’objet “codeModule” qui te permet de travailler sur un module classique, une classe ou le code d’une worksheet. ça te permettrait de connaître le nom des attributs ou méthodes. mais pour l’exécution…
je me suis servi de cette classe pour faire un export bestial des sources de mon projet.

pour l’exécution, j’ai vu des framework de test unitaires: cerains utilisent peut-être l’introspection, mais je peux me gourrer. Je peux essayer de chercher un peu plus, mais apparemment, d’autres se sont posés la questions, mais je n’ai pas trouvé de réponse.
le framework en question:
http://sourceforge.net/project/showfiles.p…ckage_id=126635
mais bon, je n’ai pas vu grand chose d’intéressant dans les sources.

voir quelques commentaires sur ce Thread
http://dbforums.com/t939749.html
et la doc de msdn
http://msdn.microsoft.com/archive/default…1/D6/S5B452.asp

m’enfin, si tu connaît le type des objets que tu parcoure, tu pourrait utiliser une autre solution, en testant “is qqch” et en routant sur une fonction par type d’objet.

edit: d’après le Thread en anglais, la classe codeModule serait là dedans:
“Microsoft Visual Basic for Applications Extensibility 5.3”