如何在Application.OnKey中使用方括号? (Excel VBA)
我想使用组合键Shift + Alt + [在我的VBA项目中调用一个子例程。 这是我尝试过的代码:
Appication.OnKey "+%[", "mySubroutine"
使用其他带有shift和alt的字符,例如小写字母和数字,我没有任何问题。 但是,当我尝试使用左方括号时,出现以下错误:
Method 'OnKey' of object '_Application' failed
我也尝试使用所有不同组合的左方括号Ctrl , Alt和Shift 。 他们都产生相同的错误。
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它们没有特殊的含义。 要指定括号字符本身,请使用“{{}”和“{}}”。