関数・メソッド

ハイパーリンクがクリックされた時に処理実行する【FollowHyperlink】【ExcelVBA】

構文

Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Target・・・・ クリックしたハイパーリンクのURL
エクセル内のハイパーリンクをクリックされた際に実行されるイベントです。
ハイパーリンクからIEを起動してしまうとWindows標準のブラウザで起動し、IE自動制御が行えません。
その場合、注意喚起をしたりします。

Worksheet_FollowHyperlinkイベントのサンプルコード

標準モジュールではなく、WorkSheetモジュール(Microsoft_Excel_Objects_Sheet1等)に記載します。

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    MsgBox "ハイパーリンクをクリック。標準ブラウザで開きます" & vbCrLf & _
        "リンク名:" & Target.Name & vbCrLf & _
        "アドレス:" & Target.Address & vbCrLf & _
        "セルアドレス:" & Target.Range.Address
        
End Sub

注意点

  • Worksheet_FollowHyperlinkイベントが実行されない。
    →標準モジュールに記載しています。WorkSheetモジュール(Sheet1やSheet2)に記載をしましょう。
  • Worksheet_FollowHyperlinkイベントはあくまでもシート単位でハイパーリンクの処理です。
    ブック全体で行いたい場合はSheetFollowHyperlinkイベントを使用します。
  • MsgBoxとURL標準ブラウザ開く処理は非同期です。
    =URL起動をキャンセルするようなことはできません。(MsgBoxのOKクリックで起動はできません。)

関連記事

セルクリックした場合に処理を実行する【SelectionChange】【ExcelVBA】
セルがダブルクリックされた場合に処理を実行する【BeforeDoubleClick】【ExcelVBA】
VBAでIE操作する為の必須条件「参照設定」する【エクセルマクロ】

コメント

タイトルとURLをコピーしました