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

我想使用组合键Shift + Alt + [在我的VBA项目中调用一个子例程。 这是我尝试过的代码:

Appication.OnKey "+%[", "mySubroutine" 

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

 Method 'OnKey' of object '_Application' failed 

我也尝试使用所有不同组合的左方括号CtrlAltShift 。 他们都产生相同的错误。

 Application.OnKey "^[", "mySubroutine" Application.OnKey "+[", "mySubroutine" Application.OnKey "%[", "mySubroutine" Application.OnKey "^+[", "mySubroutine" Application.OnKey "^%[", "mySubroutine" Application.OnKey "^+%[", "mySubroutine" 

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

 Application.OnKey "+%{91}", "mySubroutine" 

没有运气。

我也尝试使用Excel的内置Chr()函数与该ASCII码:

 Application.OnKey "+%" & Chr(91), "mySubroutine" 

哪个也没用,

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

看来微软在新版本的Excel中删除了这个function。 但是,如果有人能想出办法使之成功,我将不胜感激!

 Application.OnKey "+%{[}", "mySubroutine" 

与SendKeys相同的代码…

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

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

加号“+”,脱字号“^”,百分号“%”,代字号“〜”和括号“()”都有特殊的含义,必须用大括号“{}”括起来。 方括号“[]”也必须包含在括号内,尽pipe它们没有特殊的含义。 要指定括号字符本身,请使用“{{}”和“{}}”。