dionys0s
XLDnaute Impliqué
Bonjour le forum,
Dans le cadre de mon boulot, j'essaie de créer une macro permettant de faire de l'upload "en masse" de fichiers enregistrés sur mon disque dur.
La méthode manuelle est classique :
J'ai pour cela une page Intranet dédiée qui ne comporte qu'un bouton "Parcourir". On clique sur ce bouton, une fenêtre classique s'ouvre, on sélectionne le fichier à uploader, en clique sur OK une fois, donc la fenêtre de sélection disparaît, puis on clique sur le bouton OK qui est désormais apparu sur ma page, et c'est terminé.
J'essaie d'automatiser ça, et pour le moment j'arrive à :
Il me reste à :
Si quelqu'un a déjà fait ce genre de chose et a une idée de comment procéder, je suis preneur !
Voici l'état d'avancement de mon code :
D'avance, merci beaucoup pour votre aide !
Dans le cadre de mon boulot, j'essaie de créer une macro permettant de faire de l'upload "en masse" de fichiers enregistrés sur mon disque dur.
La méthode manuelle est classique :
J'ai pour cela une page Intranet dédiée qui ne comporte qu'un bouton "Parcourir". On clique sur ce bouton, une fenêtre classique s'ouvre, on sélectionne le fichier à uploader, en clique sur OK une fois, donc la fenêtre de sélection disparaît, puis on clique sur le bouton OK qui est désormais apparu sur ma page, et c'est terminé.
J'essaie d'automatiser ça, et pour le moment j'arrive à :
- Ouvrir Internet Explorer
- Charger la page
- Afficher la page
- Cliquer sur le bouton "Parcourir" (une fenêtre s'ouvre)
Il me reste à :
- Automatiser la sélection de mon fichier dans la fenêtre qui vient de s'ouvrir
- La valider
- Cliquer sur le bouton "OK" qui est apparu sur ma page initiale où il n'y avait avant que le bouton "Parcourir".
Si quelqu'un a déjà fait ce genre de chose et a une idée de comment procéder, je suis preneur !
Voici l'état d'avancement de mon code :
VB:
Option Explicit
Option Compare Binary
Option Private Module
Public Sub UploadFichier()
Dim IE As SHDocVw.InternetExplorer 'Dim IE As Object
Set IE = New SHDocVw.InternetExplorer 'Set IE = VBA.CreateObject("InternetExplorer.Application")
With IE
Call .Navigate("https://url.domain/")
Let .Visible = True
Call WaitIE(IE)
With .Document.All("file_select")
Call .Click
End With
'Selectionner le bon fichier
'Valider la sélection
'Envoyer
End With
Stop
Call IE.Quit
Set IE = Nothing
End Sub
Private Sub WaitIE(ByRef IE As SHDocVw.InternetExplorer) 'Private Sub WaitIE(ByRef IE As Object)
Do Until IE.ReadyState = SHDocVw.READYSTATE_COMPLETE '4
Call VBA.DoEvents
Loop
End Sub