我知道你可以做到
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'我不能在代码中真正地写它们,我确实有超链接的单元格,我想要完成能够选择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
当然没有用......
答案 0 :(得分:1)
您应该使用Hyperlinks集合中每个超链接的 .Address 属性。
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)%环境变量,但是硬编码的驱动器和路径也可以正常工作。
答案 1 :(得分:0)
Shell()方法将所有参数作为字符串传递给命令行。确保“-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
注意:我没有为chrome可执行文件测试这些标志。