Excel 2007中,從Excel 2003不同覆蓋默認快捷鍵行爲,使用熱鍵像Alt鍵 + Ç,Alt鍵 + 小號,Alt鍵 + V喜歡的快捷方式的具體特徵。VBA(Excel 2007) - 怎樣才能|與安其
所以,如果我一個VBA模塊
Application.OnKey("%C","ProcAltC")
它不工作中使用。換句話說,按Alt + C不會調用「ProcAltC」例程。
如何覆蓋該默認快捷方式以成功使用OnKey
?
Excel 2007中,從Excel 2003不同覆蓋默認快捷鍵行爲,使用熱鍵像Alt鍵 + Ç,Alt鍵 + 小號,Alt鍵 + V喜歡的快捷方式的具體特徵。VBA(Excel 2007) - 怎樣才能|與安其
所以,如果我一個VBA模塊
Application.OnKey("%C","ProcAltC")
它不工作中使用。換句話說,按Alt + C不會調用「ProcAltC」例程。
如何覆蓋該默認快捷方式以成功使用OnKey
?
在Office 2010中,我可以在Alt鍵 + Ç和Alt鍵產生作用 + 小號由...
Sub Test01()
With Application
'[lower case c, s, v]:
.OnKey "%c", "Proc01"
.OnKey "%s", "Proc02"
.OnKey "%v", "Proc03"
End With
End Sub
Sub Proc01()
MsgBox "C"
End Sub
Sub Proc02()
MsgBox "S"
End Sub
Sub Proc03()
MsgBox "V"
End Sub
Alt鍵 + V是一個不同的故事。如果你絕對必須使用像Alt + V的組合,你將不得不編譯和使用OS系統鉤子。
感謝您的回答。我沒有Office 2010,所以無法驗證。我的最後一個版本是2007年。谷歌搜索我瞭解到,我可以使用Microsoft資源工具包禁用組合鍵,但Excel仍然發送警告。 – 2010-11-09 21:37:52
嗯,我有2007年,但沒有安裝在我現在使用的機器上,並沒有真正意圖這樣做,因爲VBE中有bug。編寫一個系統鉤子可供您使用。這是一個DLL,你可以從VBA代碼中調用。它會攔截你指定的任何按鍵組合,並用你選擇的函數調用進行響應。 – user225626 2010-11-10 04:32:16
經過測試。 Alt + c,s適用於v不適用。 – 2011-03-25 10:21:14
Paulo,首先你是否真的要說Ctrl +而不是Al +? – user225626 2010-11-07 05:36:05
這是Alt組合鍵,而不是Ctrl。幾乎所有的Ctrl鍵組合都可以使用OnKey正常重定向,這與Excel 2003相同。我在Excel 2003中編寫了一個巨大的插件,它使用十分之一的快捷方式,包括一些Alt鍵。 – 2010-11-09 21:35:53