如何自动检查从excel加载多个网站所需的时间?

如何自动检查从excel加载多个网站所需的时间?,excel,excel-formula,vba,Excel,Excel Formula,Vba,我有大约100个网站在excel中,我需要检查网站加载所花费的时间。 目前我正在InternetExplorer中使用开发者工具(F12)>Network>Take(列)逐个手动完成。 有没有办法自动执行此检查???不确定您的VBA水平,这还远远不够完美,但作为起点,这是我通常用来抓取网站的代码,但我对每个网站打开所需的时间做了一些修改。这假设您的所有网站都在列A中,它将打印在列B中打开网站所花费的时间。请记住,这是为每个网站运行宏所需的时间计时,因此并不完全精确到实际网站加载所需的时间 Enu

我有大约100个网站在excel中,我需要检查网站加载所花费的时间。 目前我正在InternetExplorer中使用开发者工具(F12)>Network>Take(列)逐个手动完成。
有没有办法自动执行此检查???

不确定您的VBA水平,这还远远不够完美,但作为起点,这是我通常用来抓取网站的代码,但我对每个网站打开所需的时间做了一些修改。这假设您的所有网站都在列
A
中,它将打印在列
B
中打开网站所花费的时间。请记住,这是为每个网站运行宏所需的时间计时,因此并不完全精确到实际网站加载所需的时间

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

Sub ImportWebsiteDate()
'to refer to the running copy of Internet Explorer
Dim ie As InternetExplorer, WDApp As Object, staTime As Double, elapsedTime As Double

'to refer to the HTML document returned
Dim html As HTMLDocument, websiteNo As Integer, curSite As String
    websiteNo = Range("A500").End(xlUp).Row
'open Internet Explorer in memory, and go to website

Set ie = New InternetExplorer

For i = 1 To websiteNo
    curSite = Cells(i, 1).Value
    ie.Visible = False
    staTime = Timer
    ie.navigate curSite

    'Wait until IE is done loading page
    Do While ie.READYSTATE <> READYSTATE_COMPLETE
    Application.StatusBar = "Trying to go to " & curSite
    DoEvents
    Loop
    elapsedTime = Round(Timer - staTime, 2)
    Cells(i, 2).Value = elapsedTime
Next i
Set ie = Nothing
Application.StatusBar = False
Application.ScreenUpdating = False
End Sub
Enum READYSTATE
READYSTATE\u未初始化=0
READYSTATE_加载=1
READYSTATE_已加载=2
READYSTATE_INTERACTIVE=3
READYSTATE_COMPLETE=4
结束枚举
子ImportWebsiteDate()
'以引用Internet Explorer的运行副本
Dim ie作为InternetExplorer,WDApp作为Object,staTime作为Double,elapsedTime作为Double
'以引用返回的HTML文档
Dim html作为HTMLDocument,websiteNo作为整数,curSite作为字符串
网站编号=范围(“A500”)。结束(xlUp)。行
'在内存中打开Internet Explorer,然后转到网站
Set ie=新的InternetExplorer
对于i=1至网站编号
游标=单元格(i,1)。值
可见=假
staTime=计时器
例如,浏览草书
'等待IE完成加载页面
在ie.READYSTATE READYSTATE\u完成时执行此操作
Application.StatusBar=“尝试转到”&光标
多芬特
环
elapsedTime=四舍五入(计时器-staTime,2)
单元格(i,2)。值=elapsedTime
接下来我
设置ie=无
Application.StatusBar=False
Application.ScreenUpdating=False
端接头

这不仅适用于复制和粘贴,还可以阅读有关引用所需应用程序的信息。

默认情况下没有内置解决方案。但是你可以用VBA写一些代码,或者找一个插件来完成这项工作。刚刚意识到我在错误的地方启动了计时器,代码已经被修改了,