Private Function GetHTTPResponse(ByVal sURL As String) As String
Dim oXMLHTTP
On Error Resume Next
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
With oXMLHTTP
.Open "GET", sURL, False
.SetRequestHeader "Cache-Control", "max-age=0"
.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.41 Safari/537.36 OPR/35.0.2066.10 (Edition beta)"
.SetRequestHeader "Accept-Encoding", "deflate"
.SetRequestHeader "Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"
.send
GetHTTPResponse = .responseText
End With
Set oXMLHTTP = Nothing
End Function
3. Перебираем умную таблицу
Код
Sub Кнопка1_Щелчок()
Dim r, lr, answer, k, request
Dim ShGeneral As Worksheet
Dim Table As ListObject
Set ShGeneral = ThisWorkbook.Worksheets("Лист1")
Set Table = ShGeneral.ListObjects("Таблица1")
k = 1
For r = 1 To Table.ListRows.Count
request = Table.ListRows(r).Range(1)
answer = GetHTTPResponse(request)
Dim Json As Object
Set Json = JsonConverter.ParseJson(answer)
Dim i As Object
'записываем данные на ЛИСТ3
For Each i In Json("participant")
Лист3.Cells(k, 1) = request
Лист3.Cells(k, 2) = i("attribute1")
Лист3.Cells(k, 3) = i("attribute2")
Лист3.Cells(k, 4) = i("attribute3")
k = k + 1
Next i
Next r
End Sub
написал: По рекомендации использую VBA-JSON.В одном из атрибутов json я получаю кирилицу в нечитаемом виде "ÐÑкÑион в ÑлекÑÑонной ÑоÑме по пÑодаже жилого помеÑениÑ"
Разобрался, чтобы ответ пришел нормальный нужно брать запрос не из примера в VBA-JSON, а использовать следующую функцию
Код
Private Function GetHTTPResponse(ByVal sURL As String) As String
Dim oXMLHTTP
On Error Resume Next
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
With oXMLHTTP
.Open "GET", sURL, False
.SetRequestHeader "Cache-Control", "max-age=0"
.SetRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.41 Safari/537.36 OPR/35.0.2066.10 (Edition beta)"
.SetRequestHeader "Accept-Encoding", "deflate"
.SetRequestHeader "Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"
.send
GetHTTPResponse = .responseText
End With
Set oXMLHTTP = Nothing
End Function
Все_просто, подскажи пожалуйста может сталкивался.
По рекомендации использую VBA-JSON. В одном из атрибутов json я получаю кирилицу в нечитаемом виде "ÐÑкÑион в ÑлекÑÑонной ÑоÑме по пÑодаже жилого помеÑениÑ"
Как можно починить, чтобы получить ее в читаемом виде?
Добрый день! Имеется таблица в каждой строке которой стоят ссылки к rest api. В ответ на каждую ссылку json. Структура ответа одинаковая по всем строкам, разные значения.
Хочу понять каким образом можно отправить запросы по каждой строке, чтобы дополнить эту таблицу необходимыми полями. Желательно все засунуть в конструктор Запросов. К сожалению, я так и не разобрался как сделать много запросов на основе данных другой таблицы.