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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| Dim myIE As Object
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputGoogleZoneTexte As HTMLInputElement
Dim InputGoogleBouton As HTMLInputElement
Dim HtmlElementStandard As HTMLGenericElement
Dim LeTexteExtrait As String
Dim MailyTesty() As String
On Error GoTo Sortie
Set myIE = CreateObject("InternetExplorer.Application")
'on rentre l'URL de gmail
myIE.Navigate URL:="https://accounts.google.com/ServiceLogin?service=mail&continue=https://mail.google.com/mail/&hl=fr"
'Activer pour débugé le code pas à pas
'myIE.Visible = True
'On attend que la page soit chargé
Do Until myIE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
'On relève toutes les id des objets sur la page
Set IEDoc = myIE.document
'On défini la zone de texte ou entrer son adresse mail
Set InputGoogleZoneTexte = IEDoc.all("Email")
'puis on le rentre
InputGoogleZoneTexte.Value = "xxxxx@gmail.com"
'On défini la zone de texte ou entrer le mdp
Set InputGoogleZoneTexte = IEDoc.all("Passwd")
'puis on le rentre
InputGoogleZoneTexte.Value = "xxxxx"
'On défini le bouton pour se logger
Set InputGoogleBouton = IEDoc.all("signIn")
'On clique
InputGoogleBouton.Click
'On attends le chargement de la page
Do Until myIE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
'mais on attends quand même 5 secondes de plus (le chargement
'de la page ne détecte pas la fin de la barre de "loading" de
'gmail)
Application.Wait Time + TimeSerial(0, 0, 5)
'On défini le dernier mail reçut
Set HtmlElementStandard = IEDoc.body.all(":3g")
'puis on le met dans la variable LeTexteExtrait
LeTexteExtrait = HtmlElementStandard.innerText
'on rentre dans le mail
Set InputGoogleBouton = IEDoc.all(":3g")
InputGoogleBouton.Click
'On attend le chargement de le page
Do Until myIE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
'Après je n'ai pas trouver comment retrouver le body du mail seul
'alors j'ai décidé de mettre une balise SOF et EOF avant et après
' ce que j'ai pu mettre dans le mail
If InStr(HtmlElementStandard.innerText, "EOF") <> 0 Then
LeTexteExtrait = HtmlElementStandard.innerText
LeTexteExtrait = Mid(LeTexteExtrait, InStr(LeTexteExtrait, "SOF"))
LeTexteExtrait = Mid(LeTexteExtrait, 1, InStr(LeTexteExtrait, "EOF") + 2)
LeTexteExtrait = Replace(LeTexteExtrait, "SOF ", "")
LeTexteExtrait = Replace(LeTexteExtrait, " EOF", "")
MailyTesty = Split(LeTexteExtrait, ".")
For i = 0 To UBound(MailyTesty, 1)
Sheets("Base").Range("AY" & i + 1).Value = MailyTesty(i)
Next i
GoTo Sortie
End If
Next
Sortie:
myIE.Quit |
Partager