IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Lecture d'une page web déjà ouverte


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    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 : 4 485
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    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 .

  4. #4
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    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 : 4 485
    Par défaut
    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+

  5. #5
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Cela parait correspondre à ce que je cherchais.
    Merci LedZeppII
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lecture / copy d'une page WEB ou image
    Par thopo57 dans le forum Web
    Réponses: 8
    Dernier message: 07/06/2013, 16h23
  2. Réponses: 7
    Dernier message: 12/07/2011, 16h38
  3. lecture d'une cellule excel pour affichage dans une page web
    Par smartbis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 22/05/2008, 09h33
  4. Ouverture et lecture d'une page web avec openStream()
    Par macinteuch dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 01/05/2008, 13h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo