如何计算访问vba中的页面加载时间

问题描述 投票:0回答:1

我正在使用MS Access VBA进行Web数据提取,目前我的代码工作正常,但是当我在某些页面上禁用Java脚本然后页面无法正确加载(即页面加载时间过长)时遇到了问题,现在我想要计算VBA中的页面加载时间,如果页面加载时间太长,那么我要转到下一页。

我的现有代码如下:

Ie.navigate url1234
ctime = Now
dtime = (DateDiff("n", ltime, Now))
' MsgBox (dtime)

If dtime > 18000 Then
    MsgBox ("too much time")
End If

我正在使用上面的代码进行加载时间计算,但是代码无法按照我的要求工作。

vba ms-access access-vba
1个回答
0
投票
您可以在while循环中检查IE对象的state,以确定您要执行的操作。

正如Paul在评论中提到的,您可能需要计算ie.navigate调用之前的时间。

因此,您可以尝试这样的事情:

Start = Timer ie.navigate url1234 Do While ie.Busy Or ie.ReadyState <> 4 ' If its more than 60 seconds... If Round(Timer - Start, 2) > 60 Then ' Whatever you want to do if it's past 60 seconds... MsgBox ("too much time") Exit Sub End If Loop ' Some other code if it's succesful and within the 60 seconds below ..

我还使用了timer而不是Now(),因为在计时查询和功能方面,我发现它比Now()更实用。

干杯!

© www.soinside.com 2019 - 2024. All rights reserved.