Страницы: 1
RSS
Получить строку с сайта в Excel VBA
 
Добрый вечер. Господа эксперты подскажите, как получить нужную строку с сайта после запроса в ячейку листа. К запросам к сайтам не очень ориентируюсь, попробовал приведенные по поиску коды, но увы, все они как-то открывают сайт повторно и это вызывает ошибку. Нужно после кода ниже, получить с полученной страницы отметку статуса. В данном случае "Ликвидировано (18.10.2016)".
Код
Sub Федресурс()
   Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
    IE.Navigate "https://www.fedresurs.ru/"
    While IE.Busy Or (IE.readyState <> 4): DoEvents: Wend
    With IE.document
        .getElementsByName("searchString")(0).Value = Range("a3")
        .getElementsByTagName("button")(0).Click
    End With
            IE.Navigate "https://www.fedresurs.ru/search/entity?code=" & Range("a3") & ""
End Sub
 
У них запросы бегут по API? зачем пытаетесь по HTML идти и получать всю страницу

Изменено: pton - 30.01.2018 21:31:50
 
pton, попроще вопрос)))) К Api из VBA можно обратиться?
 
Такой же самый http запрос как и другие, просто вы  в ответ получите json строку, а не всю страницу
Если это официально доступно, то должна быть документация
 
Я далек от этой темы. Забыл приложить скин, т.к. не видно из кода какой ИНН я проверял. 6449013711
Изменено: Djinn - 30.01.2018 22:13:03
 
API есть , но свободного доступа к нему я не увидел.
Так что действуйте по выбранному Вами плану изначально. Попробуйте сохранить результат в текстовый файл . и открыть посмотреть, что приходит
И дальше уже строить план.

Я пробовал получить доступ через WinHttp.WinHttpRequest.5.1 но не смог получить  заголовки Coocie. Поэтому не смог добраться до страницы результата
 
Макрос несложный
Алгоритм описан в прикреплённом файле
Никаких Cookies там не надо
Просто POST запрос с 1 заголовком
В теле запроса (в формате JSON) передаётся искомый ИНН
 
Игорь Спасибо, а то я стучался в другой адрес.
Задача не моя HО сейчас попробую. Самому интересно.
Страницы: 1
Наверх