2014-09-19 4 views
1

У меня возникают проблемы с getElementById, он работает неправильно. Когда я выполняю это, он не дожидается, пока условие не станет ложным. Это мой код VBA:VBA IE getElementById не работает

If IE.Document.getElementById("ReportViewerControl_AsyncWait_Wait").Style.visibility = "visible" Then 
    Application.Wait (Now + TimeValue("0:00:02")) 
End If 

HTML код

<DIV id=ReportViewerControl_AsyncWait style="CLIP: rect(0px 1914px 142px 0px); HEIGHT: 144px; WIDTH: 1916px; POSITION: absolute; LEFT: 0px; FILTER: alpha(opacity=70); Z-INDEX: 1000; DISPLAY: none; TOP: 246px; VISIBILITY: visible; BACKGROUND-COLOR: white; opacity: 0.7" control="[object Object]" _oldDisplayMode="block"></DIV> 

Или есть ли способ, чтобы определить стиль тега?

ответ

0

Если вы хотите загрузить страницу, используйте метод «Занят». Вот пример:

Dim wb As Object 
Dim doc As Object 

Set wb = CreateObject("InternetExplorer.Application") 

'Address of site 
wb.navigate "http://stackoverflow.com/" 
wb.Visible = True 

'Waits for page to load 
While wb.busy 
    DoEvents 
Wend 

Помогло ли это?

+1

Это не работает, потому что моя страница частично загружается, поэтому, когда я использую метод занятости, метод не работает, а метод 'wb.Readystate' также не работает в этом сценарии. – Sunil