我正在尝试通过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
答案 0 :(得分: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
答案 1 :(得分:0)
关于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 ...