Zdarzenie OnKey

Application.OnKey to metoda obiektu Application tworząca własne skróty klawiaturowe:

kliknij, aby powiększyć

Argumenty metody to:

      • Key – sekwencja klawiszy, która ma uruchomić 
        argument obowiązkowy
      • Procedure – nazwa procedury, która ma zostać uruchomiona
        argument opcjonalny

Argument Key występuje w sekwencji z klawiszami:

      • Shift: znak plus (+)
      • Ctrl: znak (^)
      • Alt: znak procentu (%).

Można tu używać zarówno liter jak i klawiszy funkcyjnych (w nawiasach klamrowych):

Klawisz Kod
Backspace {BACKSPACE} lub {BS}
Break {BREAK}
Caps Lock  {CAPSLOCK}
Delete lub Del  {DELETE} lub {DEL}
End (END}
Enter  ˜ (tylda)
Enter (na klawiaturze numerycznej)  {ENTER}
Escape  {ESCAPE} lub {esc]
Home  {HOME}
Ins  {INSERT}
NumLock  {NUMLOCK}
Page Down (PgDn)  {PGDN}
Page Up (PgUp)  {PGUP}
Scroll Lock  {SCROLLLOCK}
Strzałka w dół  {DOWN}
Strzałka w górę  {UP}
Strzałka w lewo  {LEFT}
Strzałka w prawo  {RIGHT}
Tab  {TAB}
F1 do F15  {F1} do {F15}

Wyłączenie tak wprowadzonego skrótu klawiszowego jest możliwe z zastosowaniem również metody Application.OnKey, ale bez drugiego argumentu czyli Proceudre 

W praktyce wygląda to tak: 

’ ============================
’ TEST Application.OnKey
’ ============================
’ Ustawienie skrótów klawiszowych
Public Sub SETUP_OnKey()
’ Ctrl + Shift + A – kolorowanie komórki
Application.OnKey „^+A”, „KolorujNaCzerwono”

’ Ctrl + Shift + B – wpisanie tekstu
Application.OnKey „^+B”, „WpiszTekst”

’ Ctrl + Shift + C – czyszczenie komórki
Application.OnKey „^+C”, „WyczyscKomorke”

’ Ctrl + Shift + D – komunikat
Application.OnKey „^+D”, „PokazKomunikat”

MsgBox „Skróty zarejestrowane.” & vbCrLf & _
„A = kolor” & vbCrLf & _
„B = wpisz tekst” & vbCrLf & _
„C = wyczyść komórkę” & vbCrLf & _
„D = komunikat”, vbInformation
End Sub
’ ============================
’ AKCJE POD SKRÓTY
’ ============================
Public Sub KolorujNaCzerwono()
ActiveCell.Interior.Color = RGB(255, 0, 0)
End Sub
Public Sub WpiszTekst()
ActiveCell.Value = „Test OnKey”
End Sub
Public Sub WyczyscKomorke()
ActiveCell.Clear
End Sub
Public Sub PokazKomunikat()
MsgBox „Działa!”, vbInformation
End Sub
’ ============================
’ WYŁĄCZENIE SKRÓTÓW
’ ============================
Public Sub Off_OnKey()
Application.OnKey „^+A”
Application.OnKey „^+B”
Application.OnKey „^+C”
Application.OnKey „^+D”
MsgBox „Skróty wyłączone.”, vbInformation
End Sub

Generalnie – przed zastosowaniem konkretnych przykładów – trzeba sprawdzić, czy na pewno zadziała. W niektórych przypadkach – niestety nie – tak jakby Excel miał wbudowaną blokadę własnych skrótów. 


kawa dla marzateli

A tu możesz mi postawić kawę: 

buycoffee.to/marzatela

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *