Переделал его под свои нужды. В макросе создаётся объект MSXML2.XMLHTTP, в строковую переменную заливается исходный код веб-страницы, а потом в строке находится нужная информация.
Но возникла одна проблема: Кириллица в этом объекте не отображается и найти в строке данные на основе кириллических символов нельзя.
Код у меня такой же, как и в примере: Set oHttp = CreateObject("MSXML2.XMLHTTP.6.0") If Err.Number <> 0 Then Set oHttp = CreateObject("MSXML2.XMLHTTPRequest") End If On Error GoTo 0 If oHttp Is Nothing Then Exit Function End If
oHttp.Open "GET", sURI, False oHttp.Send htmlcode = oHttp.responseText
В строковой переменнной htmlcode сохраняется исходный код веб страницы, но кириллицу он не отображает, хотя если смотреть исходный код через браузер, то там всё ок и кодировка win-1251. Функция oHttp.getResponseHeader("Content-Type") выдаёт "text/html" без указания кодировки. Вот я и не знаю в какую сторону копать: 1) то ли нужно послать заголовок с явным указанием кодировки (нашёл на форумах, что в php это делает функция header, а в vba не знаю) 2) то ли менять кодировку строки htmlcode. Правда тоже с этим не преуспел (((
P.S. Мне нужны не курсы валют, а другие данные не с сайта ЦБ, а с иного, где нет XML.