Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3037 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - Gestion de la fenêtre windows "Téléchargement de fichier"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA - Gestion de la fenêtre windows "Téléchargement de fichier"

n°2095464
axelB
Posté le 16-08-2011 à 14:54:31  profilanswer
 

Bonjour,
Je suis novice dans l'utilisation de VBA et j'aurai besoin, pour un projet, de télécharger un fichier via Internet Explorer en utilisant VBA. J'ai pu voir qu'il existait différente méthode pour télécharger un fichier mais je suis contraint de passer par la fenêtre de téléchargement Windows et je n'arrive pas à cliquer sur le bouton Enregistrer.
 
voici mon code :
Option Explicit
 

Code :
  1. Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
  2. Sub Download()
  3. Dim IE As Object
  4. Dim acceuil, baseline As String
  5. Dim lPopupHandle As Long
  6. Dim hawnd As Long
  7. Dim hawnd_button As Long
  8. Set IE = CreateObject("InternetExplorer.Application" )
  9. IE.Visible = True
  10.     acceuil = "http://www.mon-site.fr"
  11.     baseline = "http://www.mon-site.fr/consulterHistoDossier.do?idDossier=162216&typeAction=enregistrerDossier" 'fait directement apparaitre la fenêtre de téléchargement
  12.     IE.Navigate acceuil
  13.     IE.Visible = True
  14.    
  15.     While IE.Busy
  16.     Wend
  17.    
  18.     IE.Navigate baseline
  19.        
  20. While lPopupHandle = 0
  21.     DoEvents
  22.     lPopupHandle = FindWindowEx(0, 0&, "#32770", "Téléchargement de fichier" )
  23. Wend
  24. hawnd = FindWindowEx(0, 0&, "#32770", "Téléchargement de fichier" )
  25. MsgBox hawnd
  26. hawnd_button = FindWindowEx(hawnd, 0, "Button", "En&registrer" )
  27. MsgBox hawnd_button


 
 
J'obtiens bien le Handle de mon bouton (en espérant utiliser les bons termes) mais je n'arrive pas a cliquer dessus...
Je me suis basé sur le code trouvé ici : http://www.developpez.net/forums/d [...] er-msgbox/
Si vous pouviez aussi m'aider pour choisir le dossier 'tempo' et lancer le téléchargement, cela m'aiderai beaucoup.
Merci d'avance.

mood
Publicité
Posté le 16-08-2011 à 14:54:31  profilanswer
 

n°2095522
kiki29
Posté le 16-08-2011 à 18:40:22  profilanswer
 

Salut, de la même source mais d'un auteur différent, à adapter à ton contexte


Option Explicit
 
Private Declare Function URLDownloadToFile Lib "urlmon" _
                                           Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, _
                                                                       ByVal szFileName As String, ByVal dwReserved As Long, ByVal _
                                                                                                                             lpfnCB As Long) As Long
 
Private Const ERROR_SUCCESS As Long = 0
 
Sub LancementProcedure()
    DownloadFile "http://www.leSite/fichier.txt", "C:\fichier.txt"
End Sub
 
Public Function DownloadFile(ByVal sURL As String, ByVal sLocalFile As String) As Boolean
Dim lngRetVal As Long
    DownloadFile = URLDownloadToFile(0&, sURL, sLocalFile, 0&, 0& ) = ERROR_SUCCESS
End Function
 


Message édité par kiki29 le 16-08-2011 à 18:42:31

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
n°2095531
axelB
Posté le 16-08-2011 à 19:55:20  profilanswer
 

J'étais déjà tombé sur cette solution. Mais lorsque que je l'utilise, j'obtiens une page de code en PHP et non mon fichier zip. J'ai bien essayer de trouver le lien direct du fichier dans ce code, mais il n'est pas dedans. De plus, je pense que ce n'est pas possible car le fichier généré contient dans son nom la date et l'heure où j'ai cliquer sur télécharger. Voilà pourquoi ma seule solution (à mon avis) est donc de passer par le contrôle de la fenêtre de téléchargement Windows...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA - Gestion de la fenêtre windows "Téléchargement de fichier"

 

Sujets relatifs
un fichier PDF qui s'ouvrirait dans une nouvelle fenêtre (pop up)py2exe avec wxpython sur windows 2000
C++ Fermer l'execution d'un fichier.VBA: La méthode de l'objet Worksheet a echoué
gestion des droits utilisateursProblème boucle VBA
Problème pour utiliser Vlookup en VBAPerfo VBA
VBA - Problème avec ImageComboBox 
Plus de sujets relatifs à : VBA - Gestion de la fenêtre windows "Téléchargement de fichier"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR