Я сконструировал URL, просматривая месяцы и годы и преобразовывая их в строки, которые затем соединял с основанием URL.Я догадался, с какого года вы хотите начать, что вы увидите в декларации «За год =».
Sub DownloadFile()
Dim WinHttpReq As Object
Dim oStream As Object
Dim myURL As String
Dim LocalFilePath As String
Dim month As String
Dim year As Integer
Dim monthNo As Integer
For year = 2010 To 2018
For monthNo = 1 To 12
month = MonthName(monthNo)
myURL = "https://isgs-oas.isgs.illinois.edu/reports/rwservlet?hidden_run_parameters=oil_permit_activity&p_MONTH=" & month & "&p_YEAR=" & CStr(year)
LocalFilePath = Environ("USERPROFILE") & "\Desktop\rwservlet\oil_permit_activity_" & month & "_" & CStr(year) & ".pdf"
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False, "", "" '("username", "password")
WinHttpReq.send
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile LocalFilePath, 2 ' 1 = no overwrite, 2 = overwrite
oStream.Close
End If
Next monthNo
Next year
End Sub
приведенный выше код работал для меня, но вы должны убедиться, что папка «rwservlet» существует на вашем рабочем столе, иначе она выдаст ошибку (я не очень хорош в обработке ошибок, но мы все учимся).В противном случае вы можете изменить строку LocalFilePath.