0

Excelでクリックされたハイパーリンクを検出しようとしています。Application.SheetFollowHyperlinkイベントは、「MicrosoftExcelでハイパーリンクをクリックすると」呼び出されると主張しています。

ただし、セルにのようなURLが含まれている場合は起動しますが、セルにが含まれている場合は起動www.google.comしません=HYPERLINK("http://www.google.com", "google")

2番目のタイプのハイパーリンクへのクリックを検出するにはどうすればよいですか?


たとえば、単純なExcelのアドインは次のとおりです。

Public Class ThisAddIn

    Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup

    End Sub

    Private Sub ThisAddIn_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shutdown

    End Sub

    Private Sub Application_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Microsoft.Office.Interop.Excel.Hyperlink) Handles Application.SheetFollowHyperlink
        MsgBox("Hyperlink Clicked")
    End Sub

を含むセルをクリックすると、「ハイパーリンクがクリックされました」を含むメッセージボックスが表示されますが、を含むセルはクリックされwww.google.comません=HYPERLINK("http://www.google.com", "google")

4

1 に答える 1

0

私は問題を解決したようですが、上記で使用したコードが機能しないのに、なぜ以下が機能するのかわかりません。

Private HyperlinkFollower As Excel.DocEvents_FollowHyperlinkEventHandler

Private Sub CalledWhenHyperlinkClicked(ByVal Target As Excel.Hyperlink)
    Dim w As Microsoft.Office.Interop.Excel.Window = Globals.ThisAddIn.Application.ActiveWindow
    MsgBox("hyperlink clicked")
End Sub

EventDel_HyperlinkFollower = New Excel.DocEvents_FollowHyperlinkEventHandler(AddressOf CalledWhenHyperlinkClicked)

AddHandler worksheet.FollowHyperlink, EventDel_HyperlinkFollower
于 2013-02-01T19:50:54.153 に答える