J'essaye d'obtenir que ma routine VBA interagisse avec une page qui utilise JavaScript, et qui a déjà réussi dans le passé. Après une mise à jour récente, cela ne fonctionne plus. À ce stade, j'ai besoin soit A) par un bouton de programmation ou B) exécuter la fonction que le bouton appelle. La partie délicate est que le bouton n'a pas de nom déclaré. Il y en a d'autres sur la feuille déclarée dans le code source avec des noms, et je peux très bien interagir avec eux. Voici le code html de la source de la page:Cliquez sur le bouton ou exécutez la fonction JavaScript avec VBA
<input type="button" class="buttonForm" value='Run Report' onclick="exportData(workOrderSearchForm)"/>
Comme vous pouvez le voir, il ne déclare pas de nom pour le bouton. Dans le passé, ce qui suit a fonctionné:
Set ie = CreateObject("InternetExplorer.application")
ie.document.all(79).Click
Avec "79" étant l'indice du numéro d'article. Il semble maintenant que le bouton a été modifié au point « 81 », mais simplement la mise en:
ie.document.all(81).Click
ne fonctionne pas pour une raison quelconque. Je connais la fonction que je veux exécuter: exportData (workOrderSearchForm), mais je ne sais pas comment le faire en dehors de l'utilisation de la méthode "click".
J'ai recherché une documentation décente concernant l'objet d'application IE, mais je n'arrive pas à trouver une bonne source. Y a-t-il un moyen d'exécuter la fonction?
Malheureusement il est dit que ce n'est pas une méthode ou une propriété supportée. Il espace également le code en tant que tel "ie.Window.exportData (ie.Document.forms.workOrderSearchForm)" une fois que je l'ai mis. – Michael
Essayez 'ie.window.exportData ie.window.workOrderSearchForm' ou' ie.window.eval "exportData (workOrderSearchForm)" ' – SLaks
Ni l'un ni l'autre ne semble faire l'affaire non plus. Ils produisent la même erreur. – Michael