2010-11-06 47 views
0

Excel 2007中,從Excel 2003不同覆蓋默認快捷鍵行爲,使用熱鍵像Alt鍵 + ÇAlt鍵 + 小號Alt鍵 + V喜歡的快捷方式的具體特徵。VBA(Excel 2007) - 怎樣才能|與安其

所以,如果我一個VBA模塊

  Application.OnKey("%C","ProcAltC") 

它不工作中使用。換句話說,按Alt + C不會調用「ProcAltC」例程。

如何覆蓋該默認快捷方式以成功使用OnKey

+0

Paulo,首先你是否真的要說Ctrl +而不是Al +? – user225626 2010-11-07 05:36:05

+0

這是Alt組合鍵,而不是Ctrl。幾乎所有的Ctrl鍵組合都可以使用OnKey正常重定向,這與Excel 2003相同。我在Excel 2003中編寫了一個巨大的插件,它使用十分之一的快捷方式,包括一些Alt鍵。 – 2010-11-09 21:35:53

回答

1

在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系統鉤子。

+0

感謝您的回答。我沒有Office 2010,所以無法驗證。我的最後一個版本是2007年。谷歌搜索我瞭解到,我可以使用Microsoft資源工具包禁用組合鍵,但Excel仍然發送警告。 – 2010-11-09 21:37:52

+0

嗯,我有2007年,但沒有安裝在我現在使用的機器上,並沒有真正意圖這樣做,因爲VBE中有bug。編寫一個系統鉤子可供您使用。這是一個DLL,你可以從VBA代碼中調用。它會攔截你指定的任何按鍵組合,並用你選擇的函數調用進行響應。 – user225626 2010-11-10 04:32:16

+0

經過測試。 Alt + c,s適用於v不適用。 – 2011-03-25 10:21:14