Instrução SendKeys
Envia um ou mais pressionamentos de tecla para a janela ativa como se tivessem sido digitados no teclado.
Sintaxe
Cadeia SendKeys, [espera ]
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 num procedimento e, em seguida, execute o procedimento. Uma vez que AppActivate altera o foco para a aplicação Calculadora, não pode percorrer o 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.