KeyboardEvent.KeyAscii 属性 (Visio)
返回与 KeyPress 事件关联的 ASCII 代码。 此为只读属性。
语法
expression。 KeyAscii
表达 一个代表 KeyboardEvent 对象的变量。
返回值
Long
备注
KeyAscii 返回的值是 ASCII 码。 要查看这些代码的列表,请在 Microsoft Developer Network (MSDN) 上搜索“ASCII 字符代码”。
示例
此类模块示范如何定义名为 KeyboardListener 的接收类,它侦听由活动窗口中的键盘操作触发的事件。 它通过使用 WithEvents 关键字来声明对象变量 vsoWindow。 该类模块还包含 KeyDown、KeyPress 和 KeyUp 事件的事件处理程序。
若要运行此示例,请在 Microsoft Visual Basic for Applications (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
保存文档以初始化该类,然后按任意键触发 KeyPress 事件。 在“立即”窗口中,处理程序打印为触发事件而按下的键的 ASCII 码。
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈