使用 VBA 在 Word 中创建键盘 hotkeys/shortcuts

Creating keyboard hotkeys/shortcuts in Word with VBA

出于某种原因,我 normal.dotm 文件中的快捷方式有时会被删除,
所以我知道我可以通过在 word 中四处点击来创建快捷方式 (https://wordribbon.tips.net/T008058_Assigning_a_Macro_to_a_Shortcut_Key.html)

但我想像在 excel:

中那样对它们进行硬编码
Sub keyBoardShortCuts()

    Application.OnKey "%^d", "updateDB"
    Application.OnKey "%^p", "openProjectList"
    Application.OnKey "%^m", "addNewLS"
    Application.OnKey "%^l", "createLS"
    Application.OnKey "%^g", "loadGui"
    Application.OnKey "%^b", "Custom_Button_Click"

End Sub
Private Sub Workbook_Open()
    Call keyBoardShortCuts
End Sub

但是这在 word 中不起作用,那么在 word 中这样做的语法是什么?

您需要使用 KeyBindingsEnum WdKey 中的常量(按 F2 查看列表):

With Application.KeyBindings
    .Add KeyCode:=BuildKeyCode(wdKeyAlt, wdKeyControl, wdKeyD), _
         KeyCategory:=wdKeyCategoryCommand, _
         Command:="updateDB"
    .Add KeyCode:=BuildKeyCode(wdKeyAlt, wdKeyControl, wdKeyP), _
         KeyCategory:=wdKeyCategoryCommand, _
         Command:="openProjectList"
    .Add KeyCode:=BuildKeyCode(wdKeyAlt, wdKeyControl, wdKeyM), _
         KeyCategory:=wdKeyCategoryCommand, _
         Command:="addNewLS"
    '...
End With 'Application.KeyBindings