Когда речь идет о загрузке файлов, лучше использовать XmlHttpRequest
вместо роботизированной веб-очистки.С помощью макроса ниже:
Sub DownloadFile(ByVal fileLink As String, ByVal username, ByVal password)
Dim XmlHttpReq As Object
Set XmlHttpReq = CreateObject("Microsoft.XMLHTTP")
XmlHttpReq.Open "GET", fileLink, False, username, password
XmlHttpReq.send '<-- send the GET request of your resource file to the website
fileLink = XmlHttpReq.responseBody 'save response body
If XmlHttpReq.Status = 200 Then 'if GET request was OK
Set adodbStream = CreateObject("ADODB.Stream") 'Create a Stream
adodbStream.Open 'open it
adodbStream.Type = 1
adodbStream.Write XmlHttpReq.responseBody 'write response in it
adodbStream.SaveToFile "C:\file.csv", 2 ' 1 = doesn't overwrite, 2 = overwrites 'save it
adodbStream.Close 'close stream
End If
End Sub
... вы сможете выполнить сохранение как таковое:
Sub YourMainMacro()
'... your code
DownloadFile yourAHRef, yourUsername, yourPassword
'...continue your code
End Sub