Word VB:将快捷键分配给我通过VB脚本制作的宏模板

时间:2014-07-28 12:13:05

标签: vba ms-word word-vba

如何在宏模板上重新分配/自定义特定快捷键。每次我按 Ctrl + S 时,我想重新分配 Ctrl + S 来运行我的宏我打开并使用Microsoft Word的时间。

*这当然会删除 Ctrl + S 到filesave命令的默认分配。 这将分配 Ctrl + S 以永久运行我的宏模板。

1 个答案:

答案 0 :(得分:0)

这假设您的宏是MacroCtlS。我录制了一个宏(Word2003)做“工具”,“自定义”,“键盘”,“类别/文件/文件保存”取消分配 Ctl + S 然后“类别/宏/ MacroCtls“,分配 Ctl + S ;。但录制的宏不完整,我不得不修改它。也许以后的版本会做得更好。

Option Explicit

Sub Macro1()
  Dim i1&
  CustomizationContext = NormalTemplate
' delete existing binding
  FindKey(BuildKeyCode(wdKeyS, wdKeyControl)).Disable
' add new binding
  KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyS, wdKeyControl), _
    KeyCategory:=wdKeyCategoryMacro, Command:="MacroCtlS"
' This is for extra credit.  But it doesn't list all KeyBindings?
  CustomizationContext = NormalTemplate
  For i1 = 1 To KeyBindings.Count
    Selection.TypeText KeyBindings.Item(i1).Command & vbNewLine
  Next i1
End Sub