Est-il possible de vérifier si un objet supporte une certaine méthode sans gestionnaire d'erreur dans VBA?Comment vérifier si l'objet supporte la méthode dans vba?
J'ai trouvé de nombreux doublons posant la question pour par exemple JavaScript et Symphony2, mais pas encore en VBA.
Je voudrais utiliser une commande .sendkeys "{ENTER}"
à un élément de classe ie.document
et apprendre à vérifier si l'objet prend en charge une méthode me permet d'écrire du code plus propre à long terme.
exemple de code:
Set elements(17) = ie.document.getElementsByClassName("ng-binding ng-scope")
for each item in elements(17)
item.sendkeys "{ENTER}"
next item
Merci beaucoup @ Mug Mug, pour votre réponse incomplète, et directe. J'ai peu compris l'explication, et je reviendrai à cette question pour voir si je peux suivre l'argumentation une fois que j'aurai une base et une compréhension plus larges des concepts/terminologie. Pour autant que je sache, ça ne compte pas pour "sans erreur de manipulation", mais je voudrais vous remercier pour la contribution, je n'avais pas ajouté le dernier 'Next', qui était un problème qui m'a amené à poser cette question en première instance. –
@ a.t. vous pouvez penser à "early-bound" comme tout ce qui fait référence à une bibliothèque référencée par votre projet (voir Outils> Références): elles sont résolues au moment de la compilation. "late-bound" est un appel fait contre un 'Object' ou' Variant/Object' - VBA résout le membre à l'exécution (et renvoie l'erreur 438 s'il ne le trouve pas). –
Merci pour l'introduction, il m'a conduit à une explication plus élaborée sur l'exécution et le code temporel de compilation [ici.] (Https://stackoverflow.com/questions/846103/runtime-vs-compile-time#846421) –