Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Visual Basic Новый топик    Ответить
 Импортировать всего одну строчку  [new]
VasCr
Member

Откуда:
Сообщений: 2
Нужно средствами VBA с помощью объекта MSXML2.XMLHTTP импортировать строчку с адреса

http://www.ecb.europa.eu/mopo/implement/omo/html/index.en.html

в лист Эксель. Это таблица (коих там несколько). Да хоть бы просто получить значения таблицы в виде переменных.

вот строчка

<caption>Non-EURO operations</caption>																		
<thead><tr><th>Ref.</th><th>Curr.</th><th>Settlement date</th><th>Maturity date</th><th class="number">Days</th><th class="number">Allotted amount</th></tr></thead><tbody><tr><td><a href="20180071.en.html" class="inline-link">20180071</a></td><td>USD</td></td><td>19/07/2018</td><td>26/07/2018</td><td class="number">7</td><td class="number">0.12&nbsp;bn</td></tr></tbody><tfoot><tr><td colspan="11">1) MRO = Main Refinancing Operations, LTRO = Long Term Refinancing Operations, OT = other type of operation</td></tr></tfoot></table>	


Я научился получать объект, я так понимаю, это файл html под названием index.en.html

Dim objHttp As Object, objHtml As Object
Dim objTable As Object, objRow As Object
Dim strURL As String, strHtml As String

																
strURL = "http://www.ecb.europa.eu/mopo/implement/omo/html/index.en.html"
    
    Set objHttp = CreateObject("MSXML2.XMLHTTP") '"MSXML.XMLHTTPRequest"
    Set objHtml = CreateObject("HTMLFile")
    
    objHttp.Open "GET", strURL, False
    objHttp.Send
    
    strHtml = objHttp.ResponseText	



А дальше … ну никак. В учебниках, даже таких мощных, как Уокенбах, про использование подключенных библиотек ничего не сказано, даже в новом учебнике про программирование в Эксель 2016. В документации на msdn нашел объект MSXML2.XMLHTTP, и класс HtmlDocument. Понадергал кучу кодов из инета. Ничего не получается. В голове полная каша из объектов, подозреваю, разных библиотек. Помогите пожалуйста. У некоторых умельцев еще нашел такой объект HTMLFile. Но по нему вообще никакой инфы не нашел. Хотя бы подскажите, где посмотреть толковую упорядоченную инфу.
31 июл 18, 13:22    [21617764]     Ответить | Цитировать Сообщить модератору
 Re: Импортировать всего одну строчку  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 424
21405245
31 июл 18, 21:32    [21619433]     Ответить | Цитировать Сообщить модератору
 Re: Импортировать всего одну строчку  [new]
Казанский
Member

Откуда:
Сообщений: 1280
VasCr
Нужно средствами VBA...
Если речь про Excel, то эти данные можно получить даже без VBA: Данные - Получить внешние данные - Из Веба, на веб-странице выберите нужную таблицу.
Можно задать период обновления данных и др. свойства запроса.
1 авг 18, 09:19    [21619985]     Ответить | Цитировать Сообщить модератору
 Re: Импортировать всего одну строчку  [new]
iMrTidy
Member

Откуда:
Сообщений: 675
VasCr,

К сообщению приложен файл (#Http#Html#TableToArray#ArrayToRange.xlsm - 25Kb) cкачать
1 авг 18, 18:12    [21622101]     Ответить | Цитировать Сообщить модератору
 Re: Импортировать всего одну строчку  [new]
Vojayer
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 6
Казанский
VasCr
Нужно средствами VBA...
Если речь про Excel, то эти данные можно получить даже без VBA: Данные - Получить внешние данные - Из Веба, на веб-странице выберите нужную таблицу.
Можно задать период обновления данных и др. свойства запроса.


Согласен, он ведь и пишет про Exel, значит как вы говорите можно получить все данные с веб-страницы, но наверное можно и каким то другим способом все сделать.Надо будет поискать варианты, попробовать разными способами.Может кто то знает какие тут варианты еще приемлемы.
14 ноя 18, 19:53    [21734578]     Ответить | Цитировать Сообщить модератору
 Re: Импортировать всего одну строчку  [new]
big-duke
Member

Откуда:
Сообщений: 6683
VasCr,

Power Query тебе в помощь.

К сообщению приложен файл. Размер - 53Kb
15 ноя 18, 12:35    [21735062]     Ответить | Цитировать Сообщить модератору
Все форумы / Visual Basic Ответить