Eventos KeyDown, KeyUp

Ocorrem em sequência quando um usuário pressiona e solta uma tecla. KeyDown ocorre quando o usuário pressiona uma tecla. O KeyUp ocorre quando o usuário libera uma chave.

Sintaxe

Subobjeto privado _KeyDown( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)
Subobjeto privado _KeyUp( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)

As sintaxes de evento KeyDown e KeyUp têm as seguintes partes:

Sair Descrição
objeto Obrigatório. Um nome de objeto válido.
KeyCode Obrigatório. Um número inteiro que representa o código de tecla da tecla que foi pressionada ou liberada.
Shift Obrigatório. O estado de SHIFT, CTRL e ALT.

Configurações

As configurações de Shift são:

Constant Valor Descrição
fmShiftMask 1 SHIFT foi pressionada.
fmCtrlMask 2 CTRL foi pressionada.
fmAltMask 4 ALT foi pressionada.

Comentários

O evento KeyDown ocorre quando o usuário pressiona uma tecla em um formulário em execução enquanto esse formulário ou um controle nele tem o foco. Os eventos KeyDown e KeyPress se alternam repetidamente até que o usuário solte a tecla, momento em que ocorre o evento KeyUp. O formulário ou controle com o foco recebe todos os pressionamentos de tecla. A form can have the focus only if it has no controls or all its visible controls are disabled.

Esses eventos também ocorrerão se você enviar um pressionamento de tecla para um formulário ou controle usando a ação SendKeys em uma macro ou a instrução SendKeys no Visual Basic.

Os eventos KeyDown e KeyUp são normalmente usados para reconhecer ou distinguir entre:

  • Teclas de caracteres estendidos, como as teclas de função.

  • Teclas de navegação, como HOME, END, PAGEUP, PAGEDOWN, SETA PARA CIMA, SETA PARA BAIXO, SETA PARA A DIREITA, SETA PARA A ESQUERDA e TAB.

  • Combinações de teclas e modificadores de teclado padrão (SHIFT, CTRL ou ALT).

  • O teclado numérico e teclas numéricas do teclado.

Os eventos KeyDown e KeyUp não ocorrem nas seguintes circunstâncias:

  • O usuário pressiona Enter em um formulário com um botão de comando cuja propriedade Padrão está definida como Verdadeiro.

  • O usuário pressiona Esc em um formulário com um botão de comando cuja propriedade Cancelar está definida como True.

Os eventos KeyDown e KeyPress ocorrem quando você pressiona ou envia uma tecla ANSI. O evento KeyUp ocorre depois de qualquer evento para um controle gerado pelo pressionamento ou envio da tecla. Se um pressionamento de tecla faz o foco mover de um controle para outro controle, o evento KeyDown ocorra para o primeiro controle, enquanto os eventos KeyPress e KeyUp ocorrem para o segundo controle.

A sequência de eventos relacionados ao teclado é:

  1. KeyDown
  2. KeyPress
  3. KeyUp

Observação

Os eventos KeyDown e KeyUp se aplicam somente a formulários e controles em um formulário. Para interpretar caracteres ANSI ou para descobrir o caractere ANSI correspondente à tecla pressionada, use o evento KeyPress.

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.