VBA打开超链接到浏览器的新实例

我在Excel中创build了一个列表从A2到A22,在这个范围的每个单元格中,我有一个超链接,我需要循环所有单元格并打开链接。 简单?!?!? 或多或less,对我来说是容易写的代码比这个胎面:

Sub PlayAllVideo() For Each cl In Range("A2:A22") cl.Select Selection.Hyperlinks(1).Follow NewWindow:=True, AddHistory:=True Next cl End Sub 

但我的代码工作错了,为了播放所有logging我需要一个浏览器实例,而不是在同一实例中的所有标签。 参数NewWindow添加一个选项卡,如果我想打开一个新的浏览器实例我该怎么办?

为了解决重复使用标签或创build新标签的浏览器,每次像这样简单地创build自己的IE实例:

 Sub PlayAllVideo() Dim IE As Object For Each cl In Range("A2:A22") Set IE = CreateObject("InternetExplorer.Application") 'It is generally advisable to avoid using Select and ActiveCell 'cl.Select IE.Visible = True IE.Navigate cl.Hyperlinks.item(1).Address Next cl Set IE = Nothing End Sub 

这个问题可能在浏览器端。 我尝试使用Firefox和Internet Explorer,并且更改浏览器设置后问题已解决。 但是,该解决scheme并不完美,因为无论VBA中的NewWindow设置如何,它总是会打开新的窗口。

假设你使用Firefox,我遇到同样的行为,直到我closures“改变新的选项卡中打开新窗口”选项。 之后,每个超链接都在单独的窗口中打开。

对于Internet Explorer,在Internet选项>选项卡设置>从其他程序打开的链接已更改为新窗口而不是新标签。