Консультация № 177750
08.04.2010, 20:28
35.77 руб.
0 0 0
Ранее я этот вопрос задавал, никто так и до конца из экспертов не ответил:
Подскажите можно ли и как при помощи VBA на открытой WEB странице узнать количество, имена форм ссылок, флажков, полей для ввода информации, полей передающих сообщение и других составляющих WEB страницы, а также узнать их ID???
Получил ответ:

Dim ie As Object, r As Object
Dim MyStr As String
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "http://bg.gallendor.ru/main.php"
While ie.busy
DoEvents
Wend
'MyStr = ie.Document.body.innerHTML

Set r = ie.Document.GetElementById("user_erz")
'Debug.Print "руда " & r.innertext
ThisWorkbook.ActiveSheet.Cells(2, 1).Value = r.innertext
Set r = ie.Document.GetElementById("user_gold")
'Debug.Print "gold - " & r.innertext
ThisWorkbook.ActiveSheet.Cells(2, 2).Value = r.innertext
Set r = ie.Document.GetElementById("user_holz")
'Debug.Print "древесина " & r.innertext
ThisWorkbook.ActiveSheet.Cells(2, 3).Value = r.innertext
Set r = ie.Document.GetElementById("user_nahrung")
'Debug.Print "продовольствие " & r.innertext
ThisWorkbook.ActiveSheet.Cells(2, 4).Value = r.innertext
Set r = ie.Document.GetElementById("user_silber")
'Debug.Print "серевро " & r.innertext
ThisWorkbook.ActiveSheet.Cells(2, 5).Value = r.innertext

Set r = Nothing
ie.Quit
Set ie = Nothing
Но на строке:
ThisWorkbook.ActiveSheet.Cells(2, 1).Value = r.innertext
получил ошибку № 91, что не так, что надо исправить???
Также подскажите
Строки
While ie.busy
DoEvents
Wend

И

Do While ie.ReadyState <> 4
Loop
DoEvents
Это одно и то же, что такое busy????
Спасибо Эндрю

Обсуждение

Форма ответа