vba - KeyPress 事件在 MS Word 中的 VBA 编辑器之外失败
问题描述
我有一个 VBA 代码和部分代码,特别是空格键按键事件在 MS Word 的 VBA 编辑器中运行时有效(尽管并非总是如此)。但是在外部,即如果我将模块包含在normal.dotm
或将其.dotm
放在 MS Word 的 STARTUP 文件夹中,然后将宏分配给 MS Word 中的按钮并尝试运行它,则代码无法正常工作。该代码有效,但处理空格键按键事件的部分无效。
我正在使用 MS Office 2010 版本 14.0.7229.5000(64 位)。如果重要的话,所有 MS Office 应用程序都在服务器上运行,我们是通过RDP
协议访问应用程序的客户端。
声明部分
#If VBA7 Then
Private Declare PtrSafe Function GetAsyncKeyState Lib "user32" (ByVal vKey As
Long) As Integer
#End If
Private Const VK_SPACE = &H20
以及应该处理按键事件的部分
Do Until GetAsyncKeyState(VK_SPACE)
'exit when Spacebar key is pressed
DoEvents
Loop
解决方案
推荐阅读
- c# - 使用 Invalidate() Outlook Addin C# 清除下拉列表
- reactjs - 是否可以防止默认的onDeselect,(选择输入多个蚂蚁设计)?
- c# - LambdaExpression 为覆盖的属性获取不正确的 DeclaringType
- php - PHP5.6 中的字符串到日期转换问题
- docker - 为 Identity Server 4 生成自签名证书时出现“X509 证书没有私钥”
- java - 使用 JACKSON ObjectMapper 后从 POJO 获取 null
- c - 使用 strcpy 的第二遍不需要的输出
- highcharts - Highcharts:更改 timeUnit 阈值
- sql - 对具有不同 ID 的两行求和
- sql - 将 SQL Server 数据库返回到某个时间点的最快方法是什么?