[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォームのキーイベントでマウス右クリックを捕捉できない』(田吾作)
こんばんは、よろしくお願いいたします。
コマンドボタンクリックでコマンドボタンを非表示にし、キーボードでのキー操作で再びコマンドボタン を表示するコードを作成中です。
ユーザーフォームのキーイベントは、ユーザーフォーム上に表示されているコントロールが一つでも あると、コントロールの方のキーイベントとしてとらえられるようで、他のコントロールの表示・非表示 切替えのコマンドボタンも非表示にしないとユーザーフォームのキーイベントとして機能しないようです。
↓はテスト用にユーザーフォーム上にコマンドボタン一つのみ配置しています。
ユーザーフォーム上でESCキー(vbKeyEscape)を押したときはイベントが起動しコマンドボタンが表示 されるのですが、マウスの右クリック(vbKeyRButton)はイベントが起動しません。
ネット検索しても、ユーザーフォームのキーイベントでマウスの右クリックは捕捉しないというような記述 は見られません。
念のため、二つのキーボードで試しましたが結果は同じでした。
原因が分かりましたらご教示お願いいたします。
Private Sub CommandButton1_Click() Me.CommandButton1.Visible = False End Sub
Private Sub UserForm_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Select Case KeyCode Case vbKeyEscape Me.CommandButton1.Visible = True Case vbKeyRButton Me.CommandButton1.Visible = True End Select End Sub
< 使用 Excel:Excel2007、使用 OS:WindowsVista >
>>マウスの右クリック(vbKeyRButton)はイベントが起動しません。
マウスのクリックはキー入力ではないので、UserForm_KeyUp では捕捉できないだけでは?
UserForm_MouseUp で受けると、もちろんイベントをキャッチできますが。
(β) 2015/09/22(火) 20:06
βさん、ご回答ありがとうございます。
UserForm_MouseUpイベントで捕捉できました。 ありがとうございました。
Private Sub UserForm_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Button = 2 Then Me.CommandButton1.Visible = True End Sub
(田吾作) 2015/09/22(火) 20:19
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.