ie.busy运作不佳[VBA]

时间:2013-10-12 13:44:29

标签: internet-explorer vba

我正在使用:

While ie.busy
DoEvents
Wend

' Some Code

在我的代码中添加暂停,同时Internet Explorer会刷新。但这似乎并没有奏效。 '某些代码部分正在成熟地执行并抛出错误。

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

Errorhandler:

While ie.busy
DoEvents
Wend

On Error Goto Errorhandler
'Some Code

但即使这样也不行,有时代码会在成熟之前被执行。

请建议使用ie.busy

的绝对替代方案

1 个答案:

答案 0 :(得分:4)

在我们的代码中,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:
'

你可以试试。