2016-06-22 11 views
0

クロムのExcelシートからハイパーリンクを開くためのコードがあります。それはうまく動作しますが、私は奇妙な動作に気づきました。ハイパーリンクはtから順番に開くのではなく、いくつかの基準を使って開きます。テストでは常に同じ順序でリンクを開いていたすなわちクロムを使用してExcelでハイパーリンクを開く方法

ハイパー1つの ハイパー2 ハイパー3 ハイパー4 ハイパー5

それだろう常に開い

ハイパー2ハイパー1つのハイパー3ハイパー4ハイパーリンク5

毎回私はコードを実行してその順序で開くが、上から下の順にハイパーリンクを開く必要がある。問題が発生する可能性があるため、コード

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

    chromePath = Environ("PROGRAMFILES(X86)") & "\Google\Chrome\Application\chrome.exe" 
If Selection.Count > 1 Then 
    Selection.SpecialCells(xlCellTypeVisible).Select 
End If 
    'On Error Resume Next 
    For Each hl In Selection.Hyperlinks 
     Shell chromePath & " -url " & hl.Address 
     Next hl 
End Sub 
+0

どのようにURLが格納されていますか?単一の細胞で?私は1つの行または1つの列ですか?コードを実行するとChromeは終了していますか? –

+0

各ハイパーリンクは単一のセルに格納されています。たとえば、ハイパーリンク1はセルA1のハイパーリンク2セルA2にあります...クロムが開いています –

答えて

0

Don't use .Selectがあります。

これは機能しますか?

Sub Open_HyperLinks() 
Dim chromePath As String, hl As Hyperlink 
Dim rng As Range, visRng As Range 

chromePath = Environ("PROGRAMFILES(X86)") & "\Google\Chrome\Application\chrome.exe" 

Set rng = Selection 

If rng.Count > 1 Then 
    Set visRng = rng.SpecialCells(xlCellTypeVisible) 
End If 
'On Error Resume Next 
For Each hl In visRng.Hyperlinks 

    Shell chromePath & " -url " & hl.Address 
Next hl 
End Sub 
+0

まだ開かれていないので、私は何をしようとしているのでしょうか?私は 'Application.Wait Now()+ TimeValue(" 00:00:01 ")'を試みた可能性がありますが、それでもやはり同じ動作です –

関連する問題