|
▼茶―坊 さん:
いまいち要件が分からないのですが、たとえば以下のコードは
最初 Proc1 が実行されます。
で、→キーをおすと Proc2 の実行に変わります。
←キーをおすと Proc1 の実行になります。
何度でも切り替えはできますが、Shiftキーを押すことで終了します。
Shiftキーは長めに押してください。
Private Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Sub Test()
Dim rtn As Long
Dim flag As Boolean
flag = True
Do
rtn = GetAsyncKeyState(vbKeyShift)
rtn = rtn And &H80000000
If rtn <> 0 Then Exit Do
rtn = GetAsyncKeyState(vbKeyRight)
rtn = rtn And &H80000000
If rtn <> 0 Then flag = False
rtn = GetAsyncKeyState(vbKeyLeft)
rtn = rtn And &H80000000
If rtn <> 0 Then flag = True
If flag Then
Proc1
Else
Proc2
End If
DoEvents
Loop
Range("A1").Value = "終了"
End Sub
Sub Proc1()
Range("A1").Value = 1
End Sub
Sub Proc2()
Range("A1").Value = 2
End Sub
|
|