Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Множественные запросы PQ из таблицы
 
Сам себе отвечу использовал макрос
1. Берем библиотеку https://github.com/VBA-tools/VBA-JSON
2. Берем функцию запроса
Код
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
Изменено: Mark Jacobs - 01.03.2023 17:09:51
Формирование API REST запроса и его отправка из Excel
 
Цитата
написал:
По рекомендации использую 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
Формирование API REST запроса и его отправка из Excel
 
Все_просто, подскажи пожалуйста может сталкивался.

По рекомендации использую VBA-JSON.
В одном из атрибутов json я получаю кирилицу в нечитаемом виде
"Аукцион в электронной форме по продаже жилого помещения"

Как можно починить, чтобы получить ее в читаемом виде?
Множественные запросы PQ из таблицы
 
Добрый день!
Имеется таблица в каждой строке которой стоят ссылки к rest api. В ответ на каждую ссылку json. Структура ответа одинаковая по всем строкам, разные значения.

Хочу понять каким образом можно отправить запросы по каждой строке, чтобы дополнить эту таблицу необходимыми полями.
Желательно все засунуть в конструктор Запросов. К сожалению, я так и не разобрался как сделать много запросов на основе данных другой таблицы.

Подскажите это возможно или писать макрос надо?
Изменено: Mark Jacobs - 28.02.2023 19:44:06
Страницы: 1
Наверх