2010-11-06 1 views
0

Excel 2007, отличной от Excel 2003, использует горячие клавиши, как Alt + C, Alt + S, Alt + V как ярлыки для конкретных функций.VBA (Excel 2007) - Как может | переопределение поведение по умолчанию ярлык с OnKey

Так что, если я использую в модуле VBA

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

Это не работает. Другими словами, нажатие Alt + C не называет процедуру «ProcAltC».

Как я могу переопределить это поведение ярлыков по умолчанию, чтобы успешно использовать OnKey?

+0

Paulo, в первую очередь, вы на самом деле хотите сказать Ctrl + вместо Al +? – user225626

+0

Это комбинация клавиш Alt, а не Ctrl. Почти любые комбинации клавиш Ctrl могут быть перенаправлены, как правило, с помощью OnKey, так же, как Excel 2003. У меня есть огромный addin, написанный в Excel 2003, который использует десятки ярлыков, включая некоторые клавиши Alt. –

ответ

1

В Office 2010 можно произвести действие на Alt + C и Alt + S по ...

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, вам нужно будет скомпилировать и использовать системный крючок системы.

+0

Спасибо за ваш ответ. У меня нет Office 2010, поэтому я не могу проверить. Моя последняя версия - 2007. Googling. Я узнал, что могу отключить сочетание клавиш с помощью Microsoft Resource Kit, но Excel по-прежнему отправляет предупреждения. –

+0

Ну, у меня есть 2007 год, но я не установил его на машине, с которой я сейчас работаю, и на самом деле не собираюсь это делать, так как VBE в ней был глючит. Написание системного крючка доступно вам. Это DLL, которую вы вызываете из кода VBA. Он перехватывает любые комбинации клавиш, которые вы укажете, и отвечайте на вызов функции по вашему выбору. – user225626

+0

Протестировано. Alt + c, s работает, а v нет. –

Смежные вопросы