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

Macros et VBA Excel Discussion :

Lancer javascript depuis Excel - erreur Automation [E-03]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Lancer javascript depuis Excel - erreur Automation [E-03]
    Bonjour à tous,

    mon problème aujourd'hui est de lancer depuis Excel un javascript positionné dans une page IE.

    Pour cela, a priori j'ai trouvé deux méthodes mais aucune ne marche :
    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
     
        Dim IE As New InternetExplorer
        Dim maPageHtml As HTMLDocument
        Dim imgHtml As HTMLImg
        Dim Cible As HTMLAnchorElement
     
       Set IE = CreateObject("internetExplorer.Application")
        IE.Visible = True
        IE.Navigate ("http://mapagenet.fr")
            Do Until IE.readyState = READYSTATE_COMPLETE
            DoEvents
            Loop 'attend la fin du chargement pour continuer la procedure
     
        Set maPageHtml = IE.Document
        'IE.Document.all.Item
        Set Cible = maPageHtml.Links(27)
        Cible.Click
    Ce code ne fonctionne pas et me renvoie une erreur : variable object non défini sur l'action .Click Ceci doit venir de l'absence de balise <links> sur la page web à ouvrir je pense.

    Donc je me dis que je vais faire autrement, de la manière suivante :
    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 explo2()
     
        Dim IE As New InternetExplorer
        Dim maPageHtml As HTMLDocument
        Dim imgHtml As HTMLImg
        Dim Cible As HTMLAnchorElement
     
       'Set IE = CreateObject("internetExplorer.Application")
        IE.Visible = True
        IE.Navigate ("http://mapagenet.fr")
            Do Until IE.readyState = READYSTATE_COMPLETE
            DoEvents
            Loop 'attend la fin du chargement pour continuer la procedure
     
        Set maPageHtml = IE.Document
        'IE.Document.all.Item
        maPageHtml.parentWindow.execScript "BI_processCommand()", "javascript"
     
    End Sub
    Mais ça ne marche pas mieux et j'ai l'erreur suivante : Erreur Automation.

    Après pas mal de recherche je n'ai pas trouvé de solutions.

    Quelqu'un aurait-il quelque chose sous la main pour gérer ce problème ?

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Après d'autres tentatives, je me suis rendu compte que ma page, n'offrait pas de liens hypertextes avec le code suivant :

    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
    Sub listeLiensPageWeb()
    'nécéssite d'activer la référence Microsoft HTML Objects Library
    'nécéssite d'activer la référence Microsoft Internet Controls
    Dim IE As New InternetExplorer
    Dim x As Integer
    Dim Doc As HTMLDocument
    IE.Visible = True
    IE.Navigate ("www.mapage.fr")
    Do Until IE.readyState = READYSTATE_COMPLETE
    DoEvents
    Loop
    Set Doc = IE.Document
    For x = 0 To Doc.Links.Length - 1
    Cells(x + 1, 1) = Doc.Links(x)
    Next
    End Sub
    Donc je ne peux vraiment pas réussir la manip en cliquant sur un lien. Donc pas d'avancée sur le sujet...

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonsoir

    je n'ai pas compris le rapport entre les liens hypertextes et les fonctions java script.

    en attendant, tu dois ajouter un point virgule après avoir spécifié le nom de la fonction java script à déclencher :


    remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maPageHtml.parentWindow.execScript "BI_processCommand()", "javascript"
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maPageHtml.parentWindow.execScript "BI_processCommand();", "javascript"


    Utilise la syntaxe suivante si la fonction JavaScript contient des arguments:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    maPageHtml.parentWindow.execScript _
            "ChangeBackGround('http://NomDuSite.com/NouvelleImage.gif');", "javascript"

    bonne soirée
    michel

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse.

    J'avais toutefois déjà essayé la syntaxe avec le ; et j'obtiens la même erreur Automation 80020101.

    En fait pour les liens hypertextes, je cherchais à identifier un lien qui lorsqu'on cliquerait dessus lancerait le script. Or le script est lancé lorsque l'on clique sur un image gif dont je ne sais pas comment faire pour trouver le nom.

    Est-il possible de faire lister les images contenues dans une page web et de faire une action pour cliquer sur l'une d'entre elles ?
    Peut-être que cela me permettrait d'éviter le problème du lancement direct du script qui ne marche vraiment pas.

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2009
    Messages : 24
    Points : 22
    Points
    22
    Par défaut
    les codes utilises si dessus ne sont pas en langage javascript mais en vba puis en vbs

Discussions similaires

  1. [AC-2010] Import depuis excel Erreur 462 une fois sur 2
    Par prendel dans le forum Access
    Réponses: 2
    Dernier message: 28/07/2014, 14h13
  2. Ouverture Access depuis Excel - erreur fermeture automatique
    Par operaq dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/05/2014, 14h36
  3. [XL-2010] Pilotage Internet explorer contenant javascript depuis excel
    Par anthony14123 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/12/2013, 15h08
  4. [VBA-Excel] Erreur automation
    Par argv666 dans le forum Macros et VBA Excel
    Réponses: 27
    Dernier message: 18/09/2006, 19h03
  5. Lancer une macro Excel depuis Access
    Par marcobosio dans le forum Access
    Réponses: 6
    Dernier message: 05/06/2006, 20h51

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