我正在创建一个用VB.NET编写的Excel加载项。我想将KeyDown和KeyUp事件绑定到电子表格,以记录用户在浏览电子表格时按下并释放箭头键。
理想情况下,这些事件将与原生的SheetActivate和SheetSelectionChange事件一起构建到Excel中。唉,他们不是。
请注意,我对Windows表单控件的KeyDown / KeyUp事件不感兴趣,因为我没有使用Windows表单。相反,我想在Excel应用程序,工作簿或工作表级别创建这些事件。
答案 0 :(得分:1)
您可以将Windows API调用GetAsyncKeyState
与SelectionChange
事件
这是一个用于演示
的小型VBA代码段Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Key As Long
For Key = 3 To 255
If GetAsyncKeyState(Key) Then
MsgBox "KeyCode: " & Key & " was pressed."
End If
Next
End Sub