2010-03-19 6 views
3

les gars. Ceci est un script VBS qui ouvre google, remplit un formulaire et clique sur un bouton de recherche.attraper un événement dans VBScript

set ie = CreateObject("InternetExplorer.Application") 

ie.navigate("www.google.com") 

ie.visible = true 

while ie.readystate <> 4 
    wscript.sleep 100 
WEnd 

set fields = ie.document.getelementsbyname("q") 
set buttons = ie.document.getelementsbyname("btnG") 

fields(0).value = "some query" 
buttons(0).click 

ie.quit 

Sub OnClickSub() 
    MsgBox "button clicked!", 0 
End Sub 

De toute évidence, buttons(0).click déclenche un événement onclick du bouton, que je dois en quelque sorte à attraper dans mon script, et de lui fournir un certain traitement comme le lancement OnClickSub().

Est-ce que quelqu'un a eu des idées comment cela devrait être fait?

+0

Je ne crois pas qu'il soit possible d'attacher une fonction VBS/Sub à l'événement click d'un bouton dans une page Web, je crois que le mieux que vous pouvez faire est d'invoquer tout ce qui est attaché au clic de ce bouton. – Nate

Répondre

3

Utilisez la fonction GetRef pour obtenir un pointeur à votre gestionnaire d'événements et de se lier à l'événement onclick, comme ceci:

buttons(0).onclick = GetRef("OnClickSub") 

(Apparemment, attachEvent ne fonctionne pas lorsqu'il est appelé à partir de l'extérieur de la page Web.

+0

Merci, cela semble bien fonctionner. –

Questions connexes