Почему спрашиваю возможно ли в принципе - потому что при использовании штатных средств Excel (Данные - Из интернета) вообще не увидел информации в нужных полях, я так понимаю есть "нюансы" некоторых сайтов при которых Excel их "не видит"?
Уважаемые форумчане, прошу указать на ошибки макроса написаного для решения задачи указаной темы:
Код
Sub getinfo()
Dim XMLHTTP As MSXML2.XMLHTTP
ActiveSheet.[a1].ClearContents
Set XMLHTTP = New MSXML2.XMLHTTP
XMLHTTP.Open "POST", "http://www.uz.gov.ua/cargo_transportation/electronic_transportation/specifications_carriages_info/", "false"
XMLHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XMLHTTP.SetRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
XMLHTTP.SetRequestHeader "Referer", "http://www.uz.gov.ua/car_info/index.php"
XMLHTTP.SetRequestHeader "Accept-Language", "uk-UA,uk;q=0.8,ru;q=0.6,en-US;q=0.4,en;q=0.2"
XMLHTTP.SetRequestHeader "Accept-Encoding", "gzip, deflate, lzma"
XMLHTTP.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174"
XMLHTTP.SetRequestHeader "Host", "www.uz.gov.ua"
XMLHTTP.SetRequestHeader "Content-Length", "27"
XMLHTTP.SetRequestHeader "Origin", "http://www.uz.gov.ua"
XMLHTTP.SetRequestHeader "Upgrade-Insecure-Requests", "1"
XMLHTTP.SetRequestHeader "DNT", "1"
XMLHTTP.SetRequestHeader "Connection", "Keep-Alive"
XMLHTTP.SetRequestHeader "Cache-Control", "max-age=0"
XMLHTTP.Send ("p_NV=58930330")
Do While XMLHTTP.readyState <> 4
DoEvents
Loop
ActiveSheet.[a1] = XMLHTTP.ResponseText
Set XMLHTTP = Nothing
End Sub
результат отработки макроса можна посмотреть в файле-примере Подскажите, пожалуйста, что не так делаю - результатом работы даного макроса должен быть ответ сервера на запрос с парамметром (№ вагона), а именно разрешение или запрет выезда вагона за пределы страны (так и происходит если парамметр ввести на сайт через браузер), но как добитсься того же эффекта при помощи VBA? Прилагаю к данному сообщению заголовки запроса (рис.1) рисунок удален: превышение допустимого размера вложения [МОДЕРАТОР]
Sub getinfoNew()
Dim XMLHTTP As MSXML2.XMLHTTP
ActiveSheet.[a1].ClearContents
Set XMLHTTP = New MSXML2.XMLHTTP
XMLHTTP.Open "POST", "http://www.uz.gov.ua/car_info/index.php", "false"
XMLHTTP.SetRequestHeader "Connection", "keep-alive"
XMLHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XMLHTTP.SetRequestHeader "Accept-Encoding", "gzip, deflate"
XMLHTTP.Send ("p_NV=58930330")
Do While XMLHTTP.readyState <> 4
DoEvents
Loop
s = Replace(XMLHTTP.ResponseText, " ", " ")
Set XMLHTTP = Nothing
Set RegExp = CreateObject("VBScript.RegExp")
Pattern = ""
For n = 1 To 17
Pattern = Pattern & "<td[^>]*>(.+?)</td>"
Next
RegExp.Pattern = Pattern
If RegExp.test(s) Then
Set oMatches = RegExp.Execute(s)
ReDim x(1 To 1, 1 To 17)
For n = 1 To 17
x(1, n) =Trim( oMatches(0).subMatches(n - 1))
Next
ActiveSheet.[a1].Resize(1, 17) = x
End If
End Sub