Compartilhar via


Eventos KeyDown, KeyUp

Ocorre na sequência quando um usuário pressiona e libera uma chave. KeyDown ocorre quando o usuário pressiona uma chave. KeyUp ocorre quando o usuário libera uma chave.

Sintaxe

Objeto Sub privado_KeyDown( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)
Objeto Sub privado_KeyUp( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)

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

Sair Descrição
objeto Obrigatório. Um nome de objeto válido.
KeyCode Obrigatório. Um inteiro que representa o código-chave da chave que foi pressionado ou liberado.
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 alternam repetidamente até que o usuário libere a chave, momento em que o evento KeyUp ocorre. O formulário ou controle com o foco recebe todas as teclas. 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 uma 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 normalmente são usados para reconhecer ou distinguir entre:

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

  • Chaves de navegação, como HOME, END, PAGEUP, PAGEDOWN, SETA PARA CIMA, SETA PARA BAIXO, SETA DIREITA, SETA 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 Default está definida como True.

  • O usuário pressiona o Esc em um formulário com um botão de comando cuja propriedade Cancel 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 apenas a formulários e controles em um formulário. Para interpretar caracteres ANSI ou 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.