2016-06-14 642 views
0

我知道你能做到如何打開基於選擇爲Chrome瀏覽器的Excel

Sub Chrome() 

Dim chromePath As String 
chromePath = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe""" 
Shell (chromePath & " -url https://www.google.com") 
Shell (chromePath & " -url path") 
Shell (chromePath & " -url path") 
Shell (chromePath & " -url path") 
Shell (chromePath & " -url path") 

End Sub 

但是,如果我不知道的鏈接或URL'¿s事先我真的不能翻騰他們在代碼中的超鏈接,我確實有超鏈接的單元格,我試圖完成以便能夠選擇X個單元格並在Chrome中的不同選項卡中打開超鏈接。

我試圖沿着

Sub Open_HyperLinks() 

Dim chromePath As String 
chromePath = """C:\Program Files (x86)\Google\Chrome\Application\chrome.exe""" 
    Dim hl As Hyperlink 
    On Error Resume Next 
    For Each hl In Selection.Hyperlinks 
     Shell (chromePath & " -url hl") 
    Next hl 
End Sub 
當然,沒有工作的

東西線愚蠢......

回答

1

你應該使用Hyperlinks集合中的每個超鏈接。地址財產。

Sub Open_HyperLinks() 
    Dim chromePath As String, hl As Hyperlink 

    chromePath = Environ("PROGRAMFILES(X86)") & "\Google\Chrome\Application\chrome.exe" 
    'On Error Resume Next 
    For Each hl In Selection.Hyperlinks 
     Shell chromePath & " -url " & hl.Address 
    Next hl 
End Sub 

我解決您的%PROGRAMFILES(X86)%環境變量了從無到有,但硬編碼的驅動器和路徑應該工作一樣好。

+0

...有沒有辦法在打開選項卡時出於某種原因打開選項卡時以隨機順序打開它們。 ..我需要它們從上到下打開... –

+0

您可以嘗試在命令行中添加'-newtab'參數(正如另一個答案中所建議的那樣),但我沒有太多的使用VBA操作Chrome的經驗,從shell啓動應用程序。有幾種方法可以等待預定的秒數,但除非它是IE瀏覽器,否則我不相信您可以等到Chrome完成加載URL後才確定處理器或網絡活動來自O/S的有利位置。 – Jeeped

+0

因此,讓我們等待我們要等待5秒鐘,我應該使用'wait'' timeout'或兩者? –

0

殼牌()方法傳遞所有參數爲一個字符串命令行。確保「-url hl」中的hl對象不在引號內。否則,Shell()傳遞「hl」作爲超鏈接而不是「https://www.google.com」。

出於同樣的原因,擺脫chromePath周圍的額外引文。

試試這個:

Sub Open_HyperLinks() 

    Dim chromePath As String 
    chromePath = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 
     Dim hl As Hyperlink 
     On Error Resume Next 
     For Each hl In Selection.Hyperlinks 
      Shell (chromePath & " -url -newtab " & hl) 
     Next hl 
End Sub 

注:我還沒有對鉻的可執行測試這些標誌。

+0

嘗試在Shell()中用「hl.Address」替換「hl」()調用 –

相關問題