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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
Private WithEvents oButton As MSHTML.HTMLButtonElement 'initialement MSHTML.HTMLInputElement
Private Function oButton_onclick() As Boolean
'on renseigne la zone de texte
oButton.Document.forms("gbqf").elements("q").Value = "Arkham46" 'le nom du formulaire a été modifié (initialement oButton.document.forms("f"))
'on lance la recherche par le clic sur le bouton
oButton_onclick = True
End Function
Private Sub UserForm_activate()
Dim oNav As SHDocVw.InternetExplorer
Dim oDoc As MSHTML.HTMLDocument
Dim oDiv As HTMLDivElement 'les span ont fait place à une balise Div
Set oNav = New SHDocVw.InternetExplorer
oNav.Visible = True
oNav.Navigate "http://google.fr"
' Attente avec timeout de 10 s
If WaitIE(oNav, 10) Then
' 10 s écoulées et page non chargée
MsgBox "Time out!"
Else
' Page chargée, on continue
Set oDoc = oNav.Document
'on accède à la Div contenant les boutons "Recherche Google" et "J'ai de la chance" via son Id
Set oDiv = oDoc.getElementById("gbqfbwa")
'on créé le nouveau bouton
Set oButton = oDoc.createElement("button")
oButton.className = "gbqfba"
oButton.Name = "btnA"
oButton.textContent = "Recherche Arkham46"
oButton.ID = "gbqfbc"
'on l'insère dans la Div
oDiv.appendChild oButton
End If
End Sub
' Attend que la page internet soit chargée
' pTimeOut est un time out en secondes (WaitIE vaut True si Timeout)
Public Function WaitIE(oIE As InternetExplorer, Optional pTimeOut As Long = 0) As Boolean
Dim lTimer As Double
lTimer = Timer
Do
DoEvents
If oIE.ReadyState = READYSTATE_COMPLETE And Not oIE.Busy Then Exit Do
If pTimeOut > 0 And Timer - lTimer > pTimeOut Then
WaitIE = True
Exit Do
End If
Loop
End Function |