|
こんばんは。
>マウスを右クリックするとポップアップメニューが表示されますが、
>その中のどの項目を選択したかを取得する方法がありますでしょうか。
クラスモジュールを使って、Commandbarbuttonのクリックイベントを取得すると
出来るかもしれませんよ!!
一例です。
新規ブックにおいて、クラスモジュールを作成します。
クラス名 Class1
このClass1のクラスモジュールに以下のコード。
'=====================================================
Option Explicit
Public WithEvents cmdb As CommandBarButton
'=================================================================
Private Sub cmdb_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
MsgBox Ctrl.Caption & " がクリックされました"
End Sub
標準モジュールに
'================================================================
Option Explicit
Dim cmbcls() As Class1
'================================================================
Sub main()
'On Error Resume Next
Dim cmb As CommandBarButton
Dim idx As Long
For Each cmb In CommandBars("Cell").Controls
ReDim Preserve cmbcls(1 To idx + 1)
Set cmbcls(idx + 1) = New Class1
With cmbcls(idx + 1)
Set .cmdb = cmb
End With
idx = idx + 1
Next
End Sub
として、mainを実行した後に右クリックで適当なボタンをクリックしてください。
該当するボタンのCaptionが表示されます。
試してみてください。
尚、コードはExcel2002で確認しました。
|
|