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 :

Upload d'une image - Utilisation API Windows


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Upload d'une image - Utilisation API Windows
    Bonjour,

    J'ai un petit problème car je dois rajouter une image sur un site internet mais quand je rajoute l'image la charge ne se recharge pas, je pense qu'il n'y a donc pas de requête qui se fait.
    Voilà ce que je dois faire:
    1) Cliquer sur le bouton parcourir
    2) Sélectionner un fichier dont je connait le chemin au préalable
    3) Cliquer sur OK
    Nom : Phoho.png
Affichages : 201
Taille : 2,3 Ko
    La première étape est toute simple à faire, j'ai simplement chercher le bouton avec son ID puis j'ai cliquer dessus.
    C'est lors de la deuxième étape que je suis complètement bloquer, j'ai essayer de copier mon chemin dans le presse papier puis de faire un sendkeys(^{v}) car la zone Nom du Fichier est directement sélectionner après appui du bouton mais ça ne marche pas, j'ai donc eu l'idée d'utiliser l'API Windows, j'ai réussi à trouver le nom de la classe de la fenêtre qui s'ouvre:
    Nom : Fichier.png
Affichages : 227
Taille : 63,7 Ko
    C'est #32770.
    J'ai ensuite utiliser ce code pour voir si la fenêtre est bien trouvée:
    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
     
     Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
          (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long
     
     
     
     
       Sub GetWindowHandle()
     
          Dim hWnd As Long
     
     
          ' Call the FindWindow API; this API returns a window handle.
          hWnd = FindWindow("#32770", 0&)
     
          ' Check if you were able to obtain the Window handle.
          If hWnd <> 0 Then
             ' If hwnd not zero a window handle was obtained.
             MsgBox "Successfully obtained Window Handle (HWND) for " _
                & "PowerPoint.", vbInformation, "Got Handle"
          Else
             MsgBox "Could not obtain Window Handle (HWND) for PowerPoint.", _
                vbInformation, "Failed To Get Handle"
          End If
     
       End Sub
    Et il affiche bien la fenêtre "Successfully obtained Window Handle (HWND)" avec hwnd qui vaut 2885718
    EDIT:
    J'ai créé le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set BtnPhoto = IEDoc.getElementsByName("gis_antenna[photo_filename]")(0)
        BtnPhoto.Click
        hwnd = FindWindow("#32770", 0&)
        SendMessage hwnd, 12, 0, "Ceci est 1 test !"
    Mais ce code ne marche pas car en gros la fenêtre de l'explorateur windows marche comme un point d'arrêt pour le programme, c'est à dire qu'il attend que je fasse quelquechose sur la fenêtre pour continuer le programme:
    Nom : Erreur.png
Affichages : 184
Taille : 6,3 Ko

    Comment faire ?

    Merci d'avance.

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour à tous,
    J'ai réussi a résoudre mon problème tout seul, la solution se trouve ici:
    http://www.vbaexpress.com/kb/getarticle.php?kb_id=1146

    Le problème était que la fenêtre téléchargé qui s'ouvrait était modale donc dès qu'elle s'ouvrait le code VBA s'arrêtait et attendait que l'utilisateur interagisse avec la fenêtre "Choisir un fichier à télécharger"
    Il suffit d'exécuter un script qui ouvre un Excel juste avant de cliquer sur le bouton parcourir s'est fait dans le lien.
    Libre à vous d'adapter le code et je tient à faire de la pub pour le logiciel "WinSpector" (Concurrent de Spy++) qui m'a énormément aider pour notamment trouver la fenêtre et utiliser les Windows API.

    Bon courage.
    Yoppyop

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

Discussions similaires

  1. [Upload] upload d'une image
    Par emna_icn dans le forum Langage
    Réponses: 11
    Dernier message: 04/05/2006, 23h14
  2. [Upload] Upload d'une image
    Par Seth77 dans le forum Langage
    Réponses: 2
    Dernier message: 23/03/2006, 11h00
  3. [Image]upload d'une image
    Par leloup84 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/03/2006, 15h29
  4. [Upload] envoyer une image
    Par carter15_2001 dans le forum Langage
    Réponses: 22
    Dernier message: 20/01/2006, 18h52
  5. [Upload] Renommer une image uploadée
    Par Empty_body dans le forum Langage
    Réponses: 4
    Dernier message: 05/01/2006, 06h51

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