我在“ThisWorkbook”对象中有以下代码:
Sub Workbook_Open()
Application.OnKey "^a", "SS_1"
Application.OnKey "^%a", "SS_1"
Application.OnKey "%a", "SS_1"
End Sub
在一个单独的模块中,我有以下代码:
Sub SS_1()
MsgBox "Hello"
End Sub
"^a"
和 "^%a"
击键执行SS_1
sub 完美,然后出现 MsgBox。但是,
"%a"
击键似乎什么都不做,并且没有显示任何消息框。是否有任何我不知道的独特因素会导致此按键操作与其他按键操作不同?
预先感谢您的帮助,
斯科特
最佳答案
这对我有用:
Option Explicit
Public Sub TestMe()
Application.OnKey "^a", "Macro1"
Application.OnKey "^%a", "Macro2"
Application.OnKey "%a", "Macro3"
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",false)"
End Sub
Public Sub Macro1()
Debug.Print "Pryc"
End Sub
Public Sub Macro2()
Debug.Print "Pryc2"
End Sub
Public Sub Macro3()
Debug.Print "Pryc3"
End Sub
Public Sub UnTestMe() 'Run this to disable the shortcuts.
Application.OnKey "^a"
Application.OnKey "^%a"
Application.OnKey "%a"
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",true)"
End Sub
编辑:
为确保正常工作,您应该隐藏功能区。否则,它会在功能区上找到带有
A
的内容。并将其用作屏幕截图。试试这个来隐藏功能区:
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",false)"
试试这个来返回它:
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",true)"
关于vba - Application.OnKey 错误, "%a"击键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43499447/