同时打开多个IE窗口,从窗口获取数据并在Excel中更新

时间:2017-03-11 08:07:59

标签: vba excel-vba excel

我有代码在IE中打开链接,在Excel中获取数据和更新。

我每天运行4000到5000行。它在一个窗口中导航5000次并获取数据。

有没有办法打开5到10个窗口并获取数据并在Excel中更新?它可以节省大量时间。

Sub Records()
Application.ScreenUpdating = True
Application.DisplayAlerts = False
Dim objIE As InternetExplorer
Dim a, b, c

Sheets("Data").Select
Set objIE = New InternetExplorerMedium
With objIE
    .Visible = True
    For i = 2 To Range("A1").CurrentRegion.Rows.Count
        a = UCase(Trim(Sheets("Data").Cells(i, 1).Value)): b = Split(a, "-"): CID = b(0): TT = b(1): c = Split(CID, "V"): CN = c(0): PID = c(1)
        x = "https://abc/" & PID & "/47/billing/phonepayor.esp?CLAIMID=" & CN & "&TRANSFERTYPE=" & TT
        .Navigate x
        Do While .Busy Or .ReadyState <> 4
            DoEvents
        Loop
        Set y = objIE.Document.getElementsByClassName("readonlydisplaytable")(2).Cells
        Sheets("Data").Cells(i, 2).Value = y(19).innerText
        Sheets("Data").Cells(i, 3).Value = y(21).innerText
        Sheets("Data").Cells(i, 4).Value = y(7).innerText
        Sheets("Data").Cells(i, 5).Value = y(9).innerText
        Sheets("Data").Cells(i, 6).Value = y(5).innerText
    Next i
    .Quit
End With
MsgBox i - 1 & " Records are completed.", 64, "Automation"

End Sub

1 个答案:

答案 0 :(得分:0)

打破电子表格并在serval不同的计算机上运行宏是最好的选择。在同一台计算机上运行多个IE会话没有任何好处。瓶颈是浏览器。我还没有试过看看是否有这个瓶颈运行多个虚拟机。