Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2011, 05h50   #1
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Par défaut Lecture d'une page web déjà ouverte

Bonjour,
J'utilise le code suivant pour lire le corps d'une page HTML depuis Access
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
  Dim ie As Object  
  Set ie = CreateObject("InternetExplorer.Application")
  ie.Navigate url
  ie.Visible = False
  Do While ie.Busy
        DoEvents
  Loop
  DoEvents
  s = ie.Document.Body.innerText
  DoEvents
  ie.Quit
mais lorsque la page est déjà ouverte Set ie = GetObject(url, "InternetExplorer.Application") ne fonctionne pas. Est-ce ma syntaxe ou faut-il gérer autrement la récupération du texte de la page web?
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 13h43   #2
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

J'ignore si on peut faire un GetObjet sur "InternetExplorer.Application", mais j'ai quand même l'impression que non.

J'ai retrouvé une méthode alternative dans mon code.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim IE As Object, sUrl As String
Dim oShell As Object, oShellWindows As Object, oShellWnd As Object
 
sUrl = "http://www.google.fr"
 
Set oShell = CreateObject("Shell.Application")
Set oShellWindows = oShell.Windows
For Each oShellWnd In oShellWindows
    If oShellWnd.LocationURL Like sUrl Then
       Set IE = oShellWnd.Application
       Exit For
    End If
Next
 
If Not (IE Is Nothing) Then
   MsgBox IE.LocationName, , IE.LocationURL
End If
 
Set oShell = Nothing
Si j'ai fait comme ça, c'est sûrement parce que GetObjet ne fonctionnait pas.

A+

PS: j'ai retrouvé d'où me venait le code : lien
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 19h03   #3
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Merci pour ta réponse.
Apparemment, cela traite plutôt les fenêtres Windows qu'un navigateur. Le corps de la page n'est pas accessible. Je cherche donc .
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 20h13   #4
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

Chez moi ça comprend les fenêtres de l'explorateur de fichier et celles d'IE6.
Peut-être une question de version d'Internet Explorer ... à cause des onglet ?

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2011, 21h30   #5
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Cela parait correspondre à ce que je cherchais.
Merci LedZeppII
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Sub LectureIE()
'reference Microsoft Internet Controls 
 
Dim IE As New InternetExplorer 
Dim URL As String,  ElementDoc As Variant
 
URL = "http://www.developpez.com/"
 
IE.navigate URL
 
Do While IE.ReadyState <> READYSTATE_COMPLETE
    DoEvents
Loop
 
For Each ElementDoc In IE.Document.all
      Debug.Print ElementDoc.outerText
Next ElementDoc
 
End Sub
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h18.


 
 
 
 
Partenaires

Hébergement Web