Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Запрос к интернет сайту через VBA, получить информацию с сайта
 
Добрый день! Может ли кто-то направить меня. Есть сайт и есть файл Эксель. Нужно, чтобы по запросу в файл Эксель с сайта попадало значение, например, цена товара. В связи с этим 2 вопроса:
1. Как сделать запрос к сайту из файла Эксель (без открытия браузера)
2 Что нужно на сайте сделать чтобы этот запрос работал.

спасибо!!
 
Яндекс Forever!
Согласие есть продукт при полном непротивлении сторон.
 
Спасибо, я просматривал справку но все же не нашёл что именно хотел. Уточню вопрос: необходимо, чтобы запрос не вставлял на лист таблицу с сайта, а задавал переменной значение, полученное с сайта. При этом не обязательно что информация будет видна на какой-то странице сайта. Слышал про функцию xmlhttprequest, но не очень понимаю как применить
Изменено: Rigel44 - 22 Мар 2018 15:57:27
 
Rigel44,
Цитата
полученное с сайта
Цитата
не обязательно что информация будет на какой-то странице сайта
Это как? Html-код сайта парсить в поисках всех неотображаемых элементов с display:none и потом искать среди их атрибутов что-то похожее на искомую информацию?
Изменено: Irregular Expression - 22 Мар 2018 15:57:07
 
Rigel44,  разберите любой (почти) код UDF, получающей с сайтов курсы валют. Есть некоторые работающие с xml, но кажется бОльшая часть тянет курсы именно из текста страницы.
P.S. поискал - что-то слёту не находится, взял из файла - тут нет запроса на дату, просто берёт текущий курс доллара, можете по такому алгоритму исать на другом сайте например "корм для кота" :)

Код
Function USD_ecb()
Application.Volatile True
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml", False
.Send
USD_ecb = Mid(.responseText, InStr(1, .responseText, "USD") + 11, 6)
USD_ecb = Replace(USD_ecb, ".", ",")
End With

End Function
Изменено: Hugo - 22 Мар 2018 18:29:11
 
Hugo, спасибо! Это кажется ближе к тому, что нужно. Но вопрос все же, где именно на сайте нужно разместить значение показателя? Просто в файле с расширением   .xml или где?
 
В данном случае анализируется  .xml (в коде видно), но можете брать простой текст.
Проходите код пошагово, смотрите что получили в .responseText, определяетесь как найти в нём нужное.
Впрочем если будете тянуть текст - то его и должны получить, в исходном виде. Не мудрите с кодировками - чем проще, тем проще :)
Пройдите по ссылке из кода - увидите в каких данных ищется USD и его курс.
Изменено: Hugo - 22 Мар 2018 18:49:02
 
Для начала определись с задачей! Что всё-таки нужно? получить данные с сайта или разместить на сайте?
Цитата
Нужно, чтобы по запросу в файл Эксель с сайта попадало значение
Цитата
Но вопрос все же, где именно на сайте нужно разместить значение показателя?
 
Александр Моторин, как изначально писал вопроса было 2:
1. Как сделать запрос к сайту из файла Эксель
2. Где на сайте разместить то, к чему будет запрос из Экселя
 
Цитата
Rigel44 написал:
2. Где на сайте разместить то, к чему будет запрос из Экселя
Написать   скрипт на стороне сайта,если это возможно.
Изменено: Doober - 22 Мар 2018 23:23:42
 
Спасибо, устроил вариант с запросом к xml
Изменено: Rigel44 - 28 Мар 2018 00:02:54
 
Hugo, один вопрос. Если нужно взять информацию не их .xml файла, а из .txt файла на сайте, это возможно? Как изменить код?
Изменено: Rigel44 - 28 Мар 2018 12:42:36
 
Цитата
Rigel44 написал:
Как изменить код?
- в ссылке xml меняем на txt. Всё. Да я вроде уже об этом говорил...
Изменено: Hugo - 28 Мар 2018 13:42:44
 
Hugo,спасибо, да, тупанул..

Но вот теперь новая проблема. Макрос после первого запуска начинает брать информацию из временных файлов интернета. То есть когда на сайте целевое значение меняется макрос возвращает по прежнему старое значение до тех пор, пока не очистить временные файлы. Почему так происходит, можно ли как-то решить?
Страницы: 1
Читают тему (гостей: 1)
Наверх