Comment confirmer une fermeture de session d'une page Web en VBA???

tarvel

XLDnaute Occasionnel
Bonjour,
En vba j'essaie de piloter (avec l'aide de Michel Xld Page Sept) une page web par exemple pour ouvir sur mon compte courrier ma boite de réception.
En fait à l'aide d'une macro je remplis les champs du formulaire login et passsword.
Avec une boucle je liste les éléments "input" de la page pour situer les éléments login et password etc...
Code:
 Sheets("Feuil1").Select
Set PageWeb = ie.document    
Set helem = PageWeb.getElementsByTagName("input")
For j = 0 To helem.Length - 1
Range("A" & (j + 1)).Value = helem(j).getAttribute("name") & " / " & helem(j).getAttribute("value")
Next j
login : "toto"
Pass : "****"
helem(3).innerText = login
helem(4).innerText = Pass
helem(5).Click 'pour valider

Pour le logout je liste tous les liens de la page web avec cette boucle
Code:
Sheets("Feuil3").Select
    Set Doc = ie.document
    For x = 0 To Doc.Links.Length - 1
    Cells(x + 1, 1) = Doc.Links(x)
    Next x
Je trouve bien le lien javascript de sortie de session
javascript:logout%20()
Mais à ce moment là j'ai une petite msgbox "Internet Explorer" de confirmation de sortie de session!
Comment faire pour valider cette msgbox??? Quelle type de boucle serait possible pour retrouver cette msgbox et valider?
Merci de votre aide!
 

tarvel

XLDnaute Occasionnel
Re : Comment confirmer une fermeture de session d'une page Web en VBA???

J'ai trouvé cette boucle qui liste les balises forms :
Code:
 Sheets("Feuil4").Select    
    Dim forms As Object
    Set forms = ie.document.forms    
    For i = 0 To forms.Length - 1
    Range("A" & (i + 1)).Value = forms(i).Name
    Next i
    ie.document.forms(0).submit
le submit ferme la session..mais ne ferme pas le checkbox!
Si quelqu'un a une idée!
Merci
 

chris

XLDnaute Barbatruc
Re : Comment confirmer une fermeture de session d'une page Web en VBA???

Bonjour
En fait c'est une protection d'IE : même en javascript on a le même problème. On peut fermer une fenêtre sans message sauf si c'est la 1ère instance d'IE.
On peu biaiser en ouvrant la 1ère instance et c'est elle qui ouvre la 2ème fenêtre (nommée) où serait le code pour ta mailbox.
Il restera la 1ère fenêtre (moins confidentielle) mais à toi de voir ...
 

tarvel

XLDnaute Occasionnel
Re : Comment confirmer une fermeture de session d'une page Web en VBA???

Je peux passer outre de fermer la session par cette boucle qui ferme les instances IE :
Code:
Dim winShell As New ShellWindows
On Error Resume Next
For Each IE In winShell
If IE.LocationURL <> "" Then IE.Quit 
Next IE
Ce qui est assez "catégorique" comme fermeture des pages Web.
Mais ça ne résoud pas le problème de la fermeture de la fenêtre du msgbox...comment avoir le "focus" sur cette msgbox et la fermer!!!
Merci
 

Discussions similaires

Statistiques des forums

Discussions
312 286
Messages
2 086 811
Membres
103 392
dernier inscrit
doc_banane