構文
Workbook_SheetFollowHyperlink(ByVal ShAs Object, ByVal TargetAs Hyperlink)
Sh・・・・・・クリックしたハイパーリンクがあるワークシートオブジェクト
Target・・・・ クリックしたハイパーリンクのURL
Target・・・・ クリックしたハイパーリンクのURL
エクセル内のハイパーリンクをクリックされた際に実行されるイベントです。
ハイパーリンクからIEを起動してしまうとWindows標準のブラウザで起動し、IE自動制御が行えません。
ハイパーリンクから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】
コメント