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 40 41 42 43 44 45 46 47 48 49 50
|
' @@@ OUTILS _ RÉFÉRENCES _ Cocher Microsoft Internet Controls et Microsoft HTML Object Library
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
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
Private Declare Function BringWindowToTop Lib "user32" (ByVal hwnd As Long) As Long
Dim IE As Object, Bouton As Object, Doc As Object, Url, Lig As Object, NewLig, Login, NomHtml, NomExtHtml, Nl
Sub ENREGISTREMENT_Fichiers_IE()
NewLig = 0: Columns(1).ClearContents: Columns(2).ClearContents:: Columns(3).ClearContents
Url = "https://www.developpez.net/forums/d2027934/logiciels/microsoft-office/excel/" _
& "macros-vba-excel/telecharger-fichiers-excel-csv-ligne/#post11259802"
Set IE = CreateObject("internetexplorer.application"): IE.navigate "": IE.navigate Url
Do: DoEvents: Loop While IE.readyState <> 4 Or IE.Busy: IE.Visible = True
For Each Lig In IE.document.getElementsByTagName("a")
PosPoint = 0: PosPoint = InStrRev(Lig, ".")
If PosPoint > 0 Then NomExtHtml = Mid(Lig, PosPoint + 1)
'Sélection des fichiers:
If ((Left(Lig, 12) = "https://www." Or Left(Lig, 11) = "http://www.") _
And PosPoint > 0) Then
If (NomExtHtml = "doc/" Or NomExtHtml = "docx/" _
Or NomExtHtml = "png/" Or NomExtHtml = "gif/" _
Or NomExtHtml = "txt/" Or NomExtHtml = "xls/" Or NomExtHtml = "xlsx/" _
Or NomExtHtml = "png/" Or NomExtHtml = "jpg/" Or NomExtHtml = "jpeg/") Then
NewLig = NewLig + 1: Sheets(1).Cells(NewLig, 1) = Lig 'copie URL dans sheet 1
Lig.click 'Apparition du bandeau Ouvrir/Enregistrer avec nom du fichier
Sleep 1000 'Recherche du handle de la fenetre de telechargement IE EDJE
HIEFRAME = IE.hwnd: BringWindowToTop HIEFRAME
hwndIEedge = 0
Sleep 1000
Do: DoEvents: i = i + 1
hwndIEedge = FindWindowEx(HIEFRAME, 0&, "Frame Notification Bar", vbNullString)
Loop While hwndIEedge = 0 Or i = 20000
BringWindowToTop HIEFRAME
Sleep 500
With CreateObject("WScript.Shell")
.SendKeys "{Tab}": .SendKeys "{Tab}~"
End With
Sleep 5000
End If
End If
Next Lig
IE.Quit: Beep
End Sub |
Partager