在VBA中如何将键盘快捷键恢复为默认值?

Jos*_*osh 4 vba keyboard-shortcuts

在我的VBA Excel加载项中,我允许用户为我的公共宏分配任意键盘快捷键.我允许他们在运行时更改这些快捷方式(实际上,他们更改配置文件然后重新加载).我习惯Application.OnKey这样做.

如果用户在运行时更改快捷方式,如何恢复旧键盘快捷方式的任何先前默认定义?

例如,如果我以编程方式分配^S给宏,然后将其更改为^E,如何还原^S到原始Excel"保存"行为?

Sea*_*anC 5

要将定义的键返回OnKey到其默认值,请在不使用过程的情况下定义它.

这将CTRL+ 设置S为"SpecialPrintProc"

Application.OnKey "^S", "SpecialPrintProc" 
Run Code Online (Sandbox Code Playgroud)

这将返回CTRL+ S到其正常含义.

Application.OnKey "^S" 
Run Code Online (Sandbox Code Playgroud)

这会禁用CTRL+ S.

Application.OnKey "^S", "" 
Run Code Online (Sandbox Code Playgroud)

  • 有没有一种方法可以一次重置所有*键? (2认同)