Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.12.2010, 17:04
|
|||
|---|---|---|---|
Как считать данные с веб страницы |
|||
|
#18+
Добрый день, Понимаю, что не первый с таким вопросом, но очень нужна помощь, так как сам уже запутался. Я пишу макрос на ВБА, который должен поднятнуть немного данных с веб страницы. На ней есть несколько таблиц вида: <tr height="10%"> <td class="dm-section-header" width="20%"> <table> <tr> <td> <div align="left"> <Table width="100%"> <tr> <td class="dm-attribute"> <div align="left">Bank Account Number</div> </td> <td class="dm-value"> <div align="left">30000000000000000005</div> </td> </tr> </Table> </div> </td> <td width="80%"> </td> <td width="10%"> <div align="right"> <Table width="100%"> <tr> <td class="dm-attribute"> <div align="right">Statement Date</div> </td> <td class="dm-value"> <div align="left">27-Dec-10</div> </td> </tr> </Table> </div> </td> </tr> <tr> <td width="20%"> <div align="left"> <Table width="100%"> <tr> <td class="dm-attribute"> <div align="left">Bank ID</div> </td> <td class="dm-value"> <div align="left">MICRB</div> </td> </tr> </Table> </div> </td> <td colspan=2 width="80%"> </td> </tr> </table> </td> </tr> Я не пойму как достучаться до содержимого таблицы, используя доступные в ВБА типа переменных. Есть такой код: Dim mySt As HTMLDocument Dim myTable As IHTMLTable Dim myTags As IHTMLElementCollection Dim myTag As IHTMLElement Dim myBodys As IHTMLElementCollection Dim element As IHTMLElement Set mySt = IE.document Set myTags = mySt.all.tags("table") или Set myTable = mySt.all.tags("table") For Each myTable In mySt.all.tags("table") Set myBodys = myTable.tags("td") For Each element In myBodys Next Next Но он не хочет работать. Кто-нибудь может подсказать по иерархии, пожалуйста? Или подсказать какое-нибудь чтиво для взаимодействия ВБА и HTML? Близких себе аналогичных примеров не нашел. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.12.2010, 17:34
|
|||
|---|---|---|---|
|
|||
Как считать данные с веб страницы |
|||
|
#18+
microdin, Ваш код Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2010, 11:42
|
|||
|---|---|---|---|
Как считать данные с веб страницы |
|||
|
#18+
Спасибо. Конечно же этому куску предшествует такой If ThisWorkbook.Sheets(1).Cells(1, 1) <> "" Then tempStr = ThisWorkbook.Sheets(1).Cells(1, 1) Set IE = CreateObject("InternetExplorer.Application") IE.Navigate2 tempStr Else Exit Sub End If ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2010, 12:18
|
|||
|---|---|---|---|
Как считать данные с веб страницы |
|||
|
#18+
Почему Код: plaintext А не Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2010, 12:28
|
|||
|---|---|---|---|
Как считать данные с веб страницы |
|||
|
#18+
Исключительно потому, что я не силен в этой части и пытался написать это все на основе схожих примеров. А где можно почитать про разницу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.12.2010, 14:57
|
|||
|---|---|---|---|
Как считать данные с веб страницы |
|||
|
#18+
А где можно почитать про разницу? IHTMLTable — интерфейс, содержащий свойства и методы характерные только для таблицы, HTMLTable — класс, реализующий интерфейс IHTMLTable, IHTMLElement и еще несколько интерфейсов. Переменная, объявленная как IHTMLTable сможет работать только со свойствами этого интерфейса, то есть например свойство style, принадлежащее IHTMLElement, будет недоступно. Однако работа с интерфейсной переменной будет происходить быстрее. Переменные интерфейсного типа не могут быть объявлены WithEvents — у интерфейсов нет событий. Если работа с DOM предстоит масштабная, то лучше по возможности объявлять интерфейсы. Такой комплексный подход хорошо отразится на быстродействии программы и предоставит дополнительный контроль ошибок, например еще на этапе компиляции пресечет обреченную на провал попытку посчитать строки у div. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&tablet=1&tid=2159110]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 364ms |

| 0 / 0 |
