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 :

[VBA] Déplacer le curseur dans internet explorer


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut [VBA] Déplacer le curseur dans internet explorer
    Bonjour,


    Je souhaiterai avec l'aide d'excel et de VBA cliquer sur un lien d'une page web. Le problème est que cette page web utilise de l'AJAX. J'ai bien essayé appeler le code javascript depuis excel pour apeller la page web souhaité, mais ça m'a l'air beaucoup trop compliqué.

    De ce fait j'ai pensé qu'il serait plus simple de simuler un click sur l'endroit précis ou est situé mon lien.
    J'ai trouvé le code VBA permettant de déplacer le curseur à l'endroit souhaité et générer le click.

    Le problème est maintenenant de determiner en pixel l'endroit ou le bouton est situé dans ma page web.

    En additionnant la taille du cadre du logiciel et la position de mon lien sur la page web j'espère pouvoir obtenir la position de mon cadre texte. Par exemple sur google :
    .Nom : internet.png
Affichages : 1857
Taille : 469,1 Ko
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Sub Recup_dev()
    'Déclaration des variables
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim HtmlElementStandard As HTMLGenericElement
     
     
     
       'Chargement d'une page Web
       IE.navigate "http://google.fr"
     
       'Affichage de la fenêtre IE
       IE.Visible = True
     
       'On attend le chargement complet de la page
       WaitIE IE
     
       'On pointe le document
       Set IEDoc = IE.document
    'on attends
    Sleep (2000)
     
    'on boucle pour trouver la barre de saisie
    For i = 1 To 400
     
    'si c'est la barre de saisie
    If IEDoc.all.Item(i).className = "gbqfif" Then
    ' alorrs on stock ses propriétés dans test
    Set test = IEDoc.all.Item(i)
    GoTo fin:
    End If
     
    Next i
    fin:
     
    'Je déplace mon curseur mais je ne sais pas encore où
    SetCursorPos 5000, 200
     
    End Sub
    Pour les propriété offset de "test" qui corresponds à ma barre de recherche google j'ai :
    Nom : offset.png
Affichages : 1438
Taille : 2,9 Ko

    A quoi cela correspond-il ?
    Je n'ai pas trouvé de doc sur les propriétés offset d'internet explorer et j'ai du mal à savoir si je suis en train de faire fausse route ou pas ?

    Merci d'avance,
    Cordialement,

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour !

    Fausse route !

    Le plus simple est soit de cliquer directement sur l'élément, soit exécuter le submit de Form, soit exécuter un script associé …

    Commencer donc par les bases :

    • utilisation de l'outil d'inspection intégré à tout navigateur (F12).

    Les bases du HTML

    Interaction avec Internet Explorer via VBA Excel (dans ce tutoriel il y a justement un exemple avec Google !) …


  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut
    Google était un exemple pour montrer ce que je voulais faire.

    Car l'application réel est pour un site professionnel codé en AJAX/Jquery avec de l'évent nécessitant de déterminer la position de la souris au moment du click. Avec les outils d'inspections type Firebug un clique lance indirectement plus de 10 fonctions JavaScript, qui m'ont perdus.
    Je maitrise, ou plutôt j ai déjà utilisé les liens que vous m'avez communiqué dans d'autres contextes mais dans le mien il semble ne pas faire l'affaire.

    La méthode que je voulais utilisée est-elle réellement impossible ?

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Utiliser click ou un submit me parait beaucoup plus simple !
    Sinon on est dimanche, attendre les éventuelles interventions d'autres intervenants …

    Et avec un lien sur la page en question accompagné de précisions, ce serait plus clair !

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut
    Je ne peux malheureusement pas mettre de lien car c'est professionnel. Et dur de trouver une page libre d'accès avec autant de javascript :/

    Donc ma solution semble inapplicable ?

    Y'a pas de doc sur les propriété offset d'internet explorer , car je n'en trouve pas

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Il est déconseillé de citer un post entier dans le post suivant ! (Net étiquette …)

    Citation Envoyé par borzun Voir le message
    Donc ma solution semble inapplicable ?
    Je n'en sais rien, ton idée m'a l'air purement théorique et plutôt lourde à programmer …

    Pour la documentation, voir sur MSDN …

    Au cas où, voir la contribution Comment attendre la mise à jour d'un élément d'une page web
    dans laquelle est référencée une discussion avec des pages en Ajax …

    En sachant se servir d'un navigateur internet, il est facile de trouver la requête
    comme expliqué en page 8 de cette discussion …

    Voir aussi l'excellente contribution Manipulation d'Internet Explorer via VBA

Discussions similaires

  1. [XL-2007] code vba pour cliquer sur un bouton dans internet explorer
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2011, 20h21
  2. Affichage des liens dans internet Explorer
    Par totojak dans le forum IE
    Réponses: 1
    Dernier message: 06/09/2005, 15h42
  3. Erreur dans internet explorer
    Par jnic00 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/08/2005, 09h01
  4. [BCB 5.0] Ajouter un bouton dans internet explorer
    Par GthrDns dans le forum C++Builder
    Réponses: 2
    Dernier message: 01/02/2004, 22h54
  5. Comment récupérer les adresses WWW dans Internet Explorer ?
    Par chaours dans le forum Web & réseau
    Réponses: 7
    Dernier message: 03/09/2003, 14h27

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