我今天开始使用 VBA,我正在制作蛇。
我遇到了一个小问题:excell确实没有简单的按键检测方法
处理这个问题的最佳方法是什么?
如果您要回答:使用 onkey 方法:
我无法完成这项工作,因为我需要一个新的子,我想在其中给出我的方向数组
(暗方向(2)作为整数方向(1)是x移动方向(2)是Y移动)
这不起作用,因为新的子不能编辑另一个子的变量
我怎么能做到这一点?
最佳答案
子关键测试 将测试 QWERTY 键是否被按下。
子完成将停止关键测试
Public ImDone As Boolean
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Sub KeyTest()
ImDone = False
Do Until ImDone
DoEvents
If (GetAsyncKeyState(vbKeyQ)) Then
MsgBox "Got a q"
Exit Sub
End If
If (GetAsyncKeyState(vbKeyW)) Then
MsgBox "Got a w"
Exit Sub
End If
If (GetAsyncKeyState(vbKeyE)) Then
MsgBox "Got an e"
Exit Sub
End If
If (GetAsyncKeyState(vbKeyR)) Then
MsgBox "Got an r"
Exit Sub
End If
If (GetAsyncKeyState(vbKeyT)) Then
MsgBox "Got a t"
Exit Sub
End If
If (GetAsyncKeyState(vbKeyY)) Then
MsgBox "Got a y"
Exit Sub
End If
Loop
MsgBox "done"
End Sub
Sub Finish()
ImDone = True
End Sub
关于excel - VBA excel键检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24971848/