VBA и MSHTML ошибка 91

Программирование на Visual Basic for Applications
MadNike
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 07.02.2005 (Пн) 10:29

VBA и MSHTML ошибка 91

Сообщение MadNike » 14.08.2007 (Вт) 15:00

Код: Выделить всё
Dim hd As New MSHTML.HTMLDocument
Dim hdd As MSHTML.IHTMLDocument2
Dim bdy As MSHTML.IHTMLElementCollection

Set hdd = hd.createDocumentFromUrl("c:\rep.html", "null")
Set bdy = hdd.all.tags("center")

Debug.Print bdy.Item(0).innerText


Получаю на последней строке Run-time error 91.
Пробовал в режиме отладки изучить объект bdy, все вроде бы видно...

Подскажите кто может, что я не так делаю?

ЗЫ: Работаю в Excel 2003

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.08.2007 (Вт) 21:03

Это удивительно, но использование поиска приводит к чудесным результатам. Например, к http://bbs.vbstreets.ru/viewtopic.php?t=24771. Или к http://bbs.vbstreets.ru/viewtopic.php?t=22047. Их мнооооого там...
Вот, а неиспользование поиска, что интересно, тоже приводит к чудесным результатам, но прямо противоположного свойства...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

MadNike
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 07.02.2005 (Пн) 10:29

Спасибо

Сообщение MadNike » 15.08.2007 (Ср) 9:00

Извините, конечно, что отвлек. Просто у меня нет контрола WebBrowser и я никак не думал, что поиск ответа на мой вопрос нужно было ассоциировать именно с этим контролом.
Просто я был сильно удивлен, когда тупо скопировал пример из MSDN и получил Run-time error. Еще раз извиняюсь, хотя поиском я пользовался по подстрокам "91", "MSHTML" и "IHTMLDocument2".

Работающий код (на всякий случай если у кого-нибудь еще возникнут проблемы именно с IHTMLDocument2)
Код: Выделить всё
Dim hd As New MSHTML.HTMLDocument
Dim hdd As MSHTML.IHTMLDocument2
Dim bdy As MSHTML.IHTMLElementCollection

Set hdd = hd.createDocumentFromUrl("c:\rep.html", "null")

Do While hd.readyState <> "complete"
    DoEvents
Loop

Set bdy = hdd.all.tags("center")

Debug.Print bdy.Item(0).innerText


работает без ошибок


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81

    TopList