5

我在用 :

While ie.busy
DoEvents
Wend

' Some Code

在我的代码中添加暂停,同时 Internet Explorer 刷新。但这似乎效果不佳。'某些代码部分过早执行并引发错误。

我也尝试过使用其他方法。例如

Errorhandler:

While ie.busy
DoEvents
Wend

On Error Goto Errorhandler
'Some Code

但即使这样也行不通,有时代码已经过成熟。

请建议 ie.busy 的可靠替代方案

4

1 回答 1

5

在我们的代码中,ie.Busy(InternetExplorer.Application Object)不是很可信。这是我们使用和工作的:

Enum READYSTATE
    READYSTATE_UNINITIALIZED = 0
    READYSTATE_LOADING = 1
    READYSTATE_LOADED = 2
    READYSTATE_INTERACTIVE = 3
    READYSTATE_COMPLETE = 4
End Enum

Dim strUrl
Dim ie As Object

Set ie = CreateObject("InternetExplorer.Application")
'....
' do navigation...
'
strUrl = "http://www.example.com/"
ie.Navigate strUrl

'
' waiting for the ie complete loading:
'
Do While (ie.Busy Or ie.READYSTATE <> READYSTATE.READYSTATE_COMPLETE)
  DoEvents
Loop

'
' here below you do stuffs on the new loaded URL:
'

你可以试试。

于 2013-10-13T10:24:01.693 回答