2

我正在尝试通过 VBA 创建一个宏以在 IE 的多个选项卡中打开一组指定的链接。目前我正在使用下面的代码,如果我试图打开 3 个或更少的选项卡,它大部分时间都可以工作。任何超过 3 的代码都会在“Navigate2”部分崩溃。经过一些研究,我似乎无法找到一个共同的问题或解决方案。代码如下所示(由于显而易见的原因,链接已被删除)。

任何帮助将不胜感激。

Sub USD_ILB()
  Dim strURL As String
  Dim file_date As String
  Dim objIE As Object
  Dim arrSites(4)

  file_date = Format(Cells(1, 2), "dd.mm.yyyy")

  arrSites(0) = "URL1"
  arrSites(1) = "URL2"
  arrSites(2) = "URL3"
  arrSites(3) = "URL4"
  arrSites(4) = "URL5"
  Set objIE = CreateObject("InternetExplorer.Application")
  For i = 0 To 4 Step 1
     strURL = arrSites(i)
     If i = 0 Then
         objIE.Navigate strURL
     Else
         objIE.Navigate2 strURL, 2048
     End If
  Next i
  objIE.Visible = True
  Set objIE = Nothing

End Sub
4

2 回答 2

0

您可以尝试添加检查 IE 是否忙。

For i = 0 To 4 Step 1
    Do While objIE.Busy
        DoEvents
    Loop
    strURL = arrSites(i)
    If i = 0 Then
        objIE.Navigate strURL
    Else
        objIE.Navigate2 strURL, 2048
    End If
Next i
于 2015-09-22T20:37:19.003 回答
0

至于 2048 在objIE.Navigate2 strURL, 2048

摘自Microsoft Developer Network、MSHTML 参考、IWebBrowser2

object.Navigate2(URL, Flags, TargetFrameName, PostData, Headers)

Flags [in, optional]
.. a combination of the values defined by the BrowserNavConstants enumeration

Enum BrowserNavConstants:  ...  navOpenInNewTab = 2048 ...
于 2016-08-14T20:40:56.190 回答