Risolto Tasti funzioni o scorciatoie da utilizzare in una userform

krashone

Nuovo utente
5 Febbraio 2019
8
1
Office 2019
0
Buongiorno,
sto cercando di realizzare una specie di agenda appuntamenti che dovrà essere utilizzato da una collega non vedente
e mi piacerebbe facilitarne l'uso al massimo per cui avevo pensato di utilizzare anche delle scorciatoie da tastiera come ad esempio
i tasti funzione (F1, F2, F3, ETC...) o in alternativa la combinazione di tasti CTRL+ soprattutto per l'utilizzo di alcuni commandbutton principali
del tipo (REGISTRA, STAMPA, ESCI, ETC...)

L'userform è già molto comodo per i non vedenti in quanto si possono spostare con il tasto TAB, le frecce e la barra spaziatrice, senza mai dover utilizzare il mouse,
ma appunto vorrei migliorare gli spostamenti all'interno della userform

Sto provando ad utilizzare il seguente codice:

Visual Basic:
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii.Value = 1 Then
    CommandButton69_Click
End If
End Sub
ma non riesco a farlo funzionare ho provato a metterlo ovunque (userform, modulo, modulo di classe), mi aiutate a capire

Grazie 1000
 
Ultima modifica di un moderatore:

alfrimpa

VBA Expert
Supermoderatore
Expert
18 Dicembre 2015
26.802
1.845
66
Napoli
2019 Pro Plus
708
krashone @krashone

Il codice nei post va inserito tra i TAG CODE; per come fare consulta gli avvisi dello staff (stavolta l'ho fatto io),

Per il tuo problema allega file di esempio con la userform.
 

giulianovac

Access/VBA Expert
Expert
9 Giugno 2018
3.325
145
Italy
2019
246
Windows, di suo, mette già a disposizione uno standard con la proprietà Accelerator che viene abbinata al tasto ALT.
Basta indicare nella Caption del controllo interessato (Label, CommandButton, ecc.) la lettera o numero da usare come accelerator, e quando si preme ALT + lettere automaticamente si attiva il controllo.

Vedi la guida Accelerator

Se invece vuoi utilizzare combinazioni differenti allora non devi utilizzare l'evento KeyPress perché non intercetta i tasti così detti di controllo (CTRL, ALT e SHIFT) ma solo i caratteri ASCII normali, devi invece gestire gli eventi KeyDown o KeyUp (vedi relative guide) facendo molta attenzione perché alcune combinazioni sono di Windows quindi, se possibile, meglio evitarle.

In sostanza, meglio seguire lo standard con l'ALT. che appunto non richiede alcuna codifica, perché gestito automaticamente da Windows.
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!