Menuへ
マウスクリックを検出する

前回矢印キー入力を調べましたが、今回はマウスの左右クリックを調べます。
これも実行するのに、Windows APIのGetAsyncKeyStateを使用します。
それでは作ってみます。





実行コード

右クリックすると、変数lnumが-1され、A1に表示されます。
左クリックすると、変数lnumが+1され、A1に表示されます。
クリックするとメニューが表示されるなどうまく動作できないので、シート名の余白部分などでテストしてください。

Option Explicit

Private Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Private lnum As Long

Private Sub MyMouseClick()
    Dim lkey As Long
    
    Do Until GetAsyncKeyState(27) <> 0
    
        If GetAsyncKeyState(vbKeyLButton) <> 0 Then
            lnum = lnum - 1
        ElseIf GetAsyncKeyState(vbKeyRButton) <> 0 Then
            lnum = lnum + 1
        End If
        Cells(1, 1) = lnum
        DoEvents
    Loop
End Sub

Private Sub CommandButton1_Click()
    MyMouseClick
End Sub


Topへ