powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Загрузка страницы http в переменную VBA
18 сообщений из 18, страница 1 из 1
Загрузка страницы http в переменную VBA
    #39172744
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Задача: считать данные со страницы в сети интернет.

По всей видимости запрос "проксируется" XmlHttpRequest.
С таким сталкиваюсь впервые поэтому не знаю как работать с такими запросами.
Есть у кого-либо идеи как осуществить чтение содержимого страницы?

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Sub load_data()
'реальная ссылка на страниц в браузере http://www.mami.ru/rasp/edu/mami.php#group=124433
'то есть сервер использует XhrIframeProxy
t = send_get("http://www.mami.ru/rasp/edu/ajax_mami.php?group=124433")
Debug.Print t
End Sub

Public Function send_get(url) As Variant
Dim oHttp As Object
Set oHttp = CreateObject("WinHttp.WinHttpRequest.5.1")

'    Set oHttp = CreateObject("MSXML2.XMLHTTP") ' под MSXML2 не происходит редирект и возвращается просто текст soryanchik =)
'    If err.Number <> 0 Then
'        Set oHttp = CreateObject("MSXML.XMLHTTPRequest")
'        MsgBox "Error 0 has occured while creating a MSXML.XMLHTTPRequest object"
'    End If
'    On Error GoTo 0
'    If oHttp Is Nothing Then
'        MsgBox "For some reason I wasn't able to make a MSXML2.XMLHTTP object"
'        Exit Function
'    End If

oHttp.Open "GET", url, False
oHttp.setRequestHeader "X-Requested-With", "XMLHttpRequest" ' вот эта штуковина меня смущает
oHttp.setRequestHeader "Accept", "*/*"
oHttp.setRequestHeader "Referer", "http://www.mami.ru/rasp/edu/mami.php"
oHttp.setRequestHeader "Accept-Language", "ru-RU"
'oHttp.setRequestHeader "Accept-Encoding", "gzip, deflate"
oHttp.setRequestHeader "Accept-Encoding", "deflate" ' если делать без сжатия, то данные приходят в UTF-8, соотвественно кириллица возвращается знками ? прим.: <h2>124433 <span class='small'>?¦?µ??N?N? ????
oHttp.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
oHttp.setRequestHeader "Connection", "Keep-Alive"
oHttp.setRequestHeader "Host", "www.mami.ru"
oHttp.setRequestHeader "Cookie", "group=124433; _ym_uid=1454618017546438182; _ym_isad=0; PHPSESSID=ria6tkja3i4pjuad7fvrh98m76"

oHttp.send
send_get = oHttp.responseText
End Function
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39172826
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trexmerniiЗадача: считать данные со страницы в сети интернет.
Internet Transfer Control
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39172861
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
а ссылку на пример использования данного метода не подкинете? или сам пример.
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39172896
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А прокрути страничку вниз - там примеров... ну скажем так, больше одного...
Если мало, то сделай поиск по MSDN - у авторов там фантазия небогатая, и во всех абсолютно примерах экземпляр этого контрола имеет имя Inet1.
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39172918
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

не могу понять какой reference подключить для возможности работы.
Вы сами работали с этим методом?
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39172946
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не метод, это контрол и подключать его надо не в референсах, а в компонентах
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39172950
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173028
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

не знаю где найти в VBA Excel добавление Components.

В первом посте я привел код из VBA и приложил Excel файл в котором это код отрабатывается.

Средствами VBA Excel можно загрузить страницу для дальнейшей обработки (подразумевается конкретный пример)?
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173086
Barclay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trexmerniiСредствами VBA Excel можно загрузить страницу для дальнейшей обработки (подразумевается конкретный пример)?

VBA для загрузки не нужен, VBA для обработки нужен. А для загрузки данных со страниц (или даже парсинга большого кол-ва страниц) лучше используйте встроенный PowerQuery, если у вас 2010, 2013 или 2016.
New Query-> From other source -> From Web после чего вводите адрес страницы, она подгружается, выбираете тип: table, document или еще что нужно. А переменную(если например, много страниц) создать на blank query и ссылаетесь в Query Editorе.
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173097
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barclayвстроенный PowerQuery, если у вас 2010Поправка. Встроенный он если 2013 и выше. Для 2010 надо скачивать отдельно и устанавливать.
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173109
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trexmerniiне знаю где найти в VBA Excel добавление ComponentsTools - Additional Controls.
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173633
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barclay,

Ваш способ не работает для считывания данных с указанных страниц


...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173636
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Additional Controls неактивен у меня. Win 7 64-bit, MS Office Pro Plus 2010.
Еще раз хотел бы поинтересоваться, предлагаемый Вами способ действительно может считать информацию с указанного сайта?

Возможно есть еще какие-либо способы выполнить задачу.
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173637
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
trexmerniiAkina,

Additional Controls неактивен у меня. Win 7 64-bit, MS Office Pro Plus 2010.
Еще раз хотел бы поинтересоваться, предлагаемый Вами способ действительно может считать информацию с указанного сайта?

Возможно есть еще какие-либо способы выполнить задачу.
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173659
trexmernii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогли мне, но на другом форуме.
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173661
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173794
Barclay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trexmerniiBarclay,

Ваш способ не работает для считывания данных с указанных страниц


trexmernii, все работает.


--

...
Рейтинг: 0 / 0
Загрузка страницы http в переменную VBA
    #39173935
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trexmerniiAdditional Controls неактивен у меня
Правильно. Зачем активировать пункт, если он неприменим к текущему объекту... не, ну думать-то хоть иногда нужно? Контрол может быть где? на форме. Создай юзерформу - будет тебе активный пункт. А чтобы форма не светилась на экране, подрихтуй ей .Visible. И весь код получения веб-страницы уляжется в две строки, половина из которых - определение нужных переменных.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Загрузка страницы http в переменную VBA
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]