首页 > 解决方案 > 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

标签: vbams-word

解决方案


推荐阅读