Instrução SendKeys

Envia um ou mais pressionamentos de tecla para a janela ativa como se tivessem sido digitados no teclado.

Sintaxe

Cadeia de caracteres SendKeys, [ aguarde ]

A sintaxe da instrução SendKeys possui os seguintes argumentos nomeados:

Parte Descrição
cadeia de caracteres Obrigatório. Expressão de cadeia de caracteres especificando que pressionamento de tecla enviar.
wait Opcional. Valor Booliano especificando o modo de esperar. Se forFalso (padrão), o controle retorna para oprocedimento logo após o envio das chaves. Se for verdadeiro, os pressionamentos de teclas devem processados antes controle será retornado para o procedimento.

Comentários

Cada chave é representada por um ou mais caracteres. Para especificar um caractere de teclado único, use o caractere em si. Por exemplo, para representar a letra a, use "A" para cadeia. Para representar mais de um caractere, acrescente cada caractere adicional ao anterior. Para representar as letras A, B e C, use "ABC" para cadeia.

Sinal de mais (+), acento circunflexo (^), sinal de porcentagem (%), til ( ~) e parênteses () têm significados especiais para SendKeys. Para especificar um destes caracteres, coloque o entre chaves ({}). Por exemplo, para especificar o sinal de adição, use {+}.

Colchetes ([]) não têm um significado especial paraSendKeys, mas você deve colocá-los entre chaves. Em outros aplicativos, os colchetes têm um significado especial que pode ser significativo quando a troca dinâmica de dados (DDE) ocorre. Para especificar os caracteres de chave, use {{} e {}}.

Para especificar caracteres que não são exibidos ao pressionar uma tecla, como ENTER ou TAB, e teclas que representam ações e não caracteres, use os códigos da tabela a seguir:

Chave Código
BACKSPACE {BACKSPACE}, {BS} ou {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL ou DELETE {DELETE} ou {DEL}
SETA PARA BAIXO {DOWN}
TÉRMINO {END}
ENTER {ENTER} ou ~
ESC {ESC}
AJUDA {HELP}
PÁGINA INICIAL {HOME}
INS ou INSERT {INSERT} ou {INS}
SETA PARA A ESQUERDA {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
SETA PARA A DIREITA {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
SETA PARA CIMA {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

Para especificar teclas de combinação de qualquer uma das teclas SHIFT, CTRL e ALT, coloque um ou mais dos códigos a seguir antes do código de tecla:

Tecla Código
SHIFT +
CTRL ^
ALT %

Para especificar que uma combinação das teclas SHIFT, CTRL e ALT deve ser mantida pressionada enquanto várias outras teclas são pressionadas, coloque o código dessas teclas entre parênteses. Por exemplo, para especificar mantenha SHIFT pressionado enquanto C e E são pressionadas, use +(EC).

Para especificar as chaves de repetição, use a forma {key number}. Você deve colocar um espaço entre key e number. Por exemplo, {LEFT 42} significa pressionar a tecla seta para a esquerda 42 vezes ; {h 10} significa pressionar a tecla H 10 vezes.

Observação

Não é possível usar SendKeys para enviar pressionamentos de tecla para um aplicativo não designado para ser executado no Microsoft Windows ou Macintosh. Sendkeys também não pode enviar a tecla PRINT SCREEN {PRTSC} para qualquer aplicativo.

Exemplo

Este exemplo usa a função Shell para executar o aplicativo de calculadora incluído no Microsoft Windows. Ele usa a instrução SendKeys para enviar pressionamentos de tecla para adicionar alguns números e, em seguida, feche a Calculadora. (Para ver o exemplo, cole-o em um procedimento e execute o procedimento. Como o AppActivate altera o foco para o aplicativo Calculadora, você não pode passar uma única etapa pelo código.)

No Macintosh, use um aplicativo do Macintosh que aceita a entrada de teclado em vez da Calculadora Windows.

Dim ReturnValue, I 
ReturnValue = Shell("CALC.EXE", 1)    ' Run Calculator. 
AppActivate ReturnValue     ' Activate the Calculator. 
For I = 1 To 100    ' Set up counting loop. 
    SendKeys I & "{+}", True    ' Send keystrokes to Calculator 
Next I    ' to add each value of I. 
SendKeys "=", True    ' Get grand total. 
SendKeys "%{F4}", True    ' Send ALT+F4 to close Calculator. 

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.