VBA SendKeys

VBA SendKeys

O método SendKeys do VBA é usado para enviar pressionamentos de tecla para o aplicativo ativo:

1 Application.SendKeys ("s")

O código acima irá imitar o pressionamento da tecla “s” no teclado.

O método SendKeys leva dois argumentos:

  • Chaves - a (s) chave (s) que você deseja enviar para o aplicativo como texto.
  • Esperar (Opcional)- Este valor pode ser True ou False. Se for True, o Excel espera que as chaves sejam processadas antes de executar a próxima linha de código. Se for False, o Excel continuará a executar o procedimento sem esperar que as chaves sejam processadas.

SendKeys é geralmente usado ao interagir com outros aplicativos porque é uma maneira rápida e fácil de realizar tarefas. Por exemplo, você pode usar SendKeys ao automatizar o Internet Explorer.

No entanto, você deve ter muito cuidado ao usar o método SendKeys, pois ele pode ter resultados inesperados. Recomendamos usar SendKeys apenas como último recurso e / ou quando os erros forem toleráveis ​​(ou facilmente detectáveis).

Exemplos VBA SendKeys

Cada chave em termos de letras é representada por seu caractere, por exemplo, a é “a”.
Se desejar usar as teclas em combinação com Ctrl, Shift ou Alt, você deve preceder o código da tecla com o seguinte:

Chave Código
Ctrl ^
Mudança +
Alt %

O código a seguir usa o método SendKeys para salvar a pasta de trabalho:

12345 Sub UsingSendKeys ()Application.SendKeys ("s")End Sub

Como mencionamos antes, você precisa ser extremamente cuidadoso ao usar SendKeys. O código a seguir especifica um tempo de espera de 10 segundos antes que o texto seja inserido / enviado ao Bloco de notas. Ao esperar 10 segundos, você permite que o Bloco de notas seja aberto corretamente, reduzindo a chance de um erro.

Observação: este código usa o método Application.Wait.

1234567 Sub UsingSendKeysWithWait ()Call Shell ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Now () + TimeValue ("00:00:10"))Chame SendKeys ("This is Some Text", True)End Sub

O resultado após 10 segundos de tempo de espera é:

SendKeys pode ser uma maneira extremamente rápida e fácil de realizar tarefas. No entanto, os riscos de erros são relativamente altos. Use SendKeys apenas quando o risco for aceitável!

wave wave wave wave wave