2016-06-14 260 views
1

的新實例,我在Excel中創建從A2到A22, 在此範圍內每個單元一個名單我有一個超鏈接,我需要循環中的所有單元格,然後打開她的鏈接。 簡單?!?!?或多或少,對我來說是很容易寫的代碼比這胎面:VBA打開超鏈接到瀏覽器

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

但我的工作代碼錯誤的,因爲所有的播放記錄,我需要瀏覽器的一個實例,在相同的情況下並不是所有的選項卡。 參數NewWindow添加一個標籤,如果我想打開瀏覽器的一個新實例怎麼可以呢?

回答

-1

要解決這個問題重複使用的標籤瀏覽器,或創建新的標籤,簡單地創建自己的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 
+0

蒂姆的答案非常好,我標記它。 對於一個錯誤我投下了答案,我怎麼能改變爲有用的? – Fabrizio

+0

這段代碼對我來說沒有任何錯誤。你得到的錯誤是什麼?什麼是沒有用的?你的問題是如何在自己的IE實例中打開每個鏈接。這確實如此。如果我的回答沒有用,請重新定義您的問題。 – Tim

0

的問題可能是在瀏覽器端。我嘗試使用Firefox和Internet Explorer,並且更改瀏覽器設置後問題得到解決。但是,該解決方案並不完美,因爲無論VBA中的NewWindow設置如何,它都會打開新窗口。

假設你使用的是Firefox,我遇到了同樣的問題,直到我「在新標籤,而不是打開新窗口」選項關閉了。之後,每個超鏈接都在一個單獨的窗口中打開。

對於Internet Explorer,在Internet選項>選項卡設置>打開鏈接從其他程序改爲新窗口,而不是一個新標籤。

+1

這可能會工作,但它需要大家誰使用的工作簿改變這個設置。另外,更改此設置將影響與瀏覽器交互的每個應用程序的默認行爲。 – Tim

+0

是的,你說得對,這不是一個很好的方法。你的方法好得多!沒有想到完全創建一個新的IE窗口。 – Yarnspinner

相關問題