Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2019, 19:55   #1
YellRobin
Новичок
Джуниор
 
Регистрация: 15.03.2019
Сообщений: 5
По умолчанию Создание GET запроса на API и получение JSON ответа с импортом данных в нужные ячейки

Serge_Bliznykov, скажите пожалуйста, т.е я могу при помощи одного, созданного собой, макроса импортировать посредством GET данные из одной колонки на API, и посредством Json ( ответ сервера текстовым значением по каждой ячейке) ответные данные будут прилетать в другую колонку с ячейками???
YellRobin вне форума Ответить с цитированием
Старый 16.03.2019, 23:08   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Вы запускаете макрос, в макросе делаете запрос, получаете данные и размещаете их туда, куда нужно.

посмотрите, например, вот эту тему - http://www.excelworld.ru/forum/10-23392-1

Цитата:
Код:
Option Explicit

'http://steamcommunity.com/market/priceoverview/?currency=5&country=us&appid=11111&market_hash_name=22222&format=json
'вместо 11111 должно быть значение из 1 колонки, а вместо 22222 - из второй.
'Пример ответа: {"success":true,"lowest_price":"71,08 p\u0443\u0431.","volume":"1,126","median_price":"70,56 p\u0443\u0431."}
Sub qwerty()
Dim i, r, a, b, s, u, lr
With Лист3
lr = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(2, 3).Resize(lr - 1, 3).ClearContents
For r = 2 To lr
    a = .Cells(r, 1)
    b = .Cells(r, 2)
    s = "http://steamcommunity.com/market/priceoverview/?currency=5&country=us&appid="
    s = s & a & "&market_hash_name="
    s = s & b & "&format=json"
    i = GetHTTPResponse(s)
    Debug.Print i
    u = Split(i, ":")
    .Cells(r, 3) = Replace(Trim(Replace(Split(u(2), "\")(0), "p", "")), Chr(34), "")
    .Cells(r, 4) = Replace(Trim(Replace(Split(u(4), "\")(0), "p", "")), Chr(34), "")
    .Cells(r, 5) = Now
Next r
End With
End Sub

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
ещё полезно почитать вот эти темы -
http://excelerator.solutions/2017/08...p-get-request/
https://www.planetaexcel.ru/forum/in...ID=96058&MID=s

Последний раз редактировалось Serge_Bliznykov; 16.03.2019 в 23:14.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.03.2019, 02:35   #3
YellRobin
Новичок
Джуниор
 
Регистрация: 15.03.2019
Сообщений: 5
По умолчанию

Спасибо за ресурсы - ознакомлюсь!
YellRobin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка POST запроса и получение ответа Chester751 Общие вопросы по Java, Java SE, Kotlin 2 19.07.2016 11:45
Получение данных из запроса [MoNAMur] PHP 0 18.04.2012 12:26
получение данных из Post запроса ToDayGoodDay Работа с сетью в Delphi 1 30.07.2011 20:15
Перенос данных в нужные ячейки через VBA Detockin Microsoft Office Excel 0 12.03.2009 12:04