KeyboardEvent.KeyCode 属性 (Visio)
返回与 KeyDown 和 KeyUp 事件关联的 密钥 。 此为只读属性。
语法
expression。 KeyCode
表达 一个代表 KeyboardEvent 对象的变量。
返回值
Long
备注
KeyCode 的可能值在 Microsoft Visual Basic for Applications (VBA) 库中的 KeyCodeConstants 中声明。
示例
此类模块示范如何定义名为 KeyboardListener 的接收类,它侦听由活动窗口中的键盘操作触发的事件。 它通过使用 WithEvents 关键字来声明对象变量 vsoWindow。 该类模块还包含 KeyDown、KeyPress 和 KeyUp 事件的事件处理程序。
若要运行此示例,请在 VBA 项目中插入一个新的类模块,将其命名为 KeyboardListener,并在模块中插入以下代码。
Dim WithEvents vsoWindow As Visio.Window
Private Sub Class_Initialize()
Set vsoWindow = ActiveWindow
End Sub
Private Sub Class_Terminate()
Set vsoWindow = Nothing
End Sub
Private Sub vsoWindow_KeyDown(ByVal KeyCode As Long, ByVal KeyButtonState As Long, CancelDefault As Boolean)
Debug.Print "KeyCode is "; KeyCode
Debug.Print "KeyButtonState is" ; KeyButtonState
End Sub
Private Sub vsoWindow_KeyPress(ByVal KeyAscii As Long, CancelDefault As Boolean)
Debug.Print "KeyAscii value is "; KeyAscii
End Sub
Private Sub vsoWindow_KeyUp(ByVal KeyCode As Long, ByVal KeyButtonState As Long, CancelDefault As Boolean)
Debug.Print "KeyCode is "; KeyCode
Debug.Print "KeyButtonState is" ; KeyButtonState
End Sub
然后,在 ThisDocument 项目中插入以下代码。
Dim myKeyboardListener As KeyboardListener
Private Sub Document_DocumentSaved(ByVal doc As IVDocument)
Set myKeyboardListener = New KeyboardListener
End Sub
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument)
Set myKeyboardListener = Nothing
End Sub
保存文档以初始化该类,然后按任意键触发 KeyDown 事件。 在“立即”窗口中,处理程序将打印为触发事件而按下的键的代码以及触发事件时 Shift 和 Ctrl 键的状态。
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈