如何在Application.OnKey中使用方括号?(Excel VBA)

mat*_*rth 3 excel vba keyboard-shortcuts hotkeys excel-vba

我想使用组合键Shift+ Alt+ [来调用我的VBA项目中的子程序.这是我尝试过的代码:

Appication.OnKey "+%[", "mySubroutine"
Run Code Online (Sandbox Code Playgroud)

我使用shift和alt的其他字符没有问题,例如小写字母和数字.但是,当我尝试使用左方括号时,我收到以下错误:

Method 'OnKey' of object '_Application' failed
Run Code Online (Sandbox Code Playgroud)

我也曾尝试使用左方括号与所有不同的组合Ctrl,AltShift.它们都会产生相同的错误.

Application.OnKey "^[", "mySubroutine"
Application.OnKey "+[", "mySubroutine"
Application.OnKey "%[", "mySubroutine"
Application.OnKey "^+[", "mySubroutine"
Application.OnKey "^%[", "mySubroutine"
Application.OnKey "^+%[", "mySubroutine"
Run Code Online (Sandbox Code Playgroud)

我也尝试使用左方括号(91)的ASCII代码,如下所示:

Application.OnKey "+%{91}", "mySubroutine"
Run Code Online (Sandbox Code Playgroud)

没有运气.

我也尝试使用Excel的内置Chr()函数和ASCII密钥代码:

Application.OnKey "+%" & Chr(91), "mySubroutine"
Run Code Online (Sandbox Code Playgroud)

哪个也行不通.

我正在运行Excel 2013.我们办公室中的另一台计算机运行的是Excel 2003,虽然该计算机使用的是Excel4Macro语言,但它可以使用左方括号来设置键盘快捷键.

似乎Microsoft在较新版本的Excel中删除了此功能.但是,如果有人能想出办法让它发挥作用,我将不胜感激!

Tim*_*ams 7

Application.OnKey "+%{[}", "mySubroutine"
Run Code Online (Sandbox Code Playgroud)

与SendKeys相同的代码......

如何使用VBA sendkeys打印或发送大括号()

https://social.technet.microsoft.com/wiki/contents/articles/5169.vbscript-sendkeys-method.aspx

加号"+",插入符号"^",百分号"%",代字号"〜"和括号"()"都有特殊含义,必须用括号"{}"括起来.方括号"[]"也必须括在括号内,尽管它们没有特殊含义.要自行指定大括号字符,请使用"{{}"和"{}}".