関数・メソッド

ブック全体のハイパーリンクがクリックされた時に処理実行する【SheetFollowHyperlink】【ExcelVBA】

構文

Workbook_SheetFollowHyperlink(ByVal ShAs Object, ByVal TargetAs Hyperlink)

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

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

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

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

注意点

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

関連記事

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

コメント

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