2010-12-03 5 views
1

Microsoft Excelでvbaを使用すると、ハイパーリンクやアクションを私が描いた図形に割り当てようとしています。ここでは、おおまかに試したことがあります(一度に1行だけコメントを外してください)。Excelのシェイプオブジェクトにハイパーリンクとonactionイベントを割り当てる方法

基本的には、シェイプオブジェクトをクリックしてより多くの情報を得ることができます。ハイパーリンクは問題ありませんが、パラメータを受け取る何らかの種類のイベントハンドラが理想的です。私は数百のこれらの図形を作成し、ドキュメント内の固有の場所にリンクする必要があります。

Dim destinationHyperlinkCell as Range 
    set destinationHyperlinkCell = Range("10:10") 
    ' (do some stuff here)... 
    With Sheet1.Shapes.AddTextbox(msoTextOrientationHorizontal, _ 
         600, _ 
         600, _ 
         300, _ 
         16) 
    .TextFrame.Characters.Text = "Test this thing" 
    .Name = destinationHyperlinkCell.Address & " group of shapes" 
    '.Hyperlink.Address = destinationHyperlinkCell.Address 
    '.Hyperlink.Range = destinationHyperlinkCell.Address 
    '.OnAction = "'showDebugMsg """ & .Name & """'" 
    End With 

答えて

1

使用「マクロの割り当て...」を発射し、各形状にマクロを定義するために

あなたは形状ごとに同じマクロを使用することができます「をクリックして」と名前を取得するにはApplication.Callerプロパティを使用しますマクロを起動した形のそして、あなたは、インテリジェントなハンドラを記述するためにすべての材料を持っている -

幸運を助けURL、テキストまたは何

Sub Shape_Click() 
    MsgBox "Co-Cooo! from" & Application.Caller 
End Sub 

希望にシェイプ名を解決します(隠された)Excelの表のように - MikeD

+0

ありがとう! Application.Callerでは、私は必要な柔軟性を持っています。上のコードは ".OnAction = Shape_Click()"です... –

関連する問題