Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


30588 / 76733 ←次へ | 前へ→

【51410】Re:マウスの右クリック
発言  ichinose  - 07/9/15(土) 21:12 -

引用なし
パスワード
   こんばんは。

>マウスを右クリックするとポップアップメニューが表示されますが、
>その中のどの項目を選択したかを取得する方法がありますでしょうか。

クラスモジュールを使って、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で確認しました。
3 hits

【51407】マウスの右クリック tomi 07/9/15(土) 18:01 質問
【51408】Re:マウスの右クリック ikeri 07/9/15(土) 19:27 回答
【51409】Re:マウスの右クリック じゅんじゅん 07/9/15(土) 21:07 発言
【51410】Re:マウスの右クリック ichinose 07/9/15(土) 21:12 発言
【51416】Re:マウスの右クリック tomi 07/9/16(日) 3:30 お礼
【51417】Re:マウスの右クリック とおりすがり 07/9/16(日) 9:25 発言

30588 / 76733 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free