【发布时间】:2015-12-16 00:46:47
【问题描述】:
我正在尝试通过 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
【问题讨论】:
-
您是否收到错误消息? 2048 的价值是什么?
-
是的@ChipsLetten,我在同一行得到了错误的组合。它们都是:“运行时错误'-2147467259(80004005)':对象'IWebBrowser2'的方法'Navigate2'失败”和“运行时错误'-2147467259(80004005)':自动化错误未指定错误”
-
你检查过你使用的网址没问题吗?您使用 Navigate2 是因为它不是网址吗? 2048 的价值是什么?
-
网址没问题。我每天都使用它们。要回答你的第二个问题,老实说,我不确定。在几个站点上看到了这个特定的代码,理论上应该完全符合我的需要。经过一些快速研究,似乎 Navigate2 用于打开初始选项卡之外的其他选项卡,而不是单独的窗口。没有对 2048 值的解释。我在其他类似的代码上看到过。
-
我很好奇这个功能可以打开的标签数量是否有限制。或者窗口打开太快,无法与初始选项卡通信。
标签: vba excel internet-explorer beforenavigate2