![](https://codky.com/wp-content/uploads/2024/11/2294-1024x576.png)
A instrução `SendKeys` em VBA é utilizada para enviar pressionamentos de teclas para a janela que está atualmente ativa. Isso pode ser útil para automatizar tarefas que requerem a interação com a interface do usuário de um aplicativo, como o Microsoft Excel, Word, ou outros programas que aceitam entrada de teclado.
Aqui estão os passos básicos sobre como usar `SendKeys` no VBA:
Sub ExemploSendKeys()
' Ativa a janela do Excel (ou outro aplicativo em que você deseja enviar as teclas)
AppActivate "Microsoft Excel"
' Envia a combinação de teclas CTRL + N (para criar uma nova pasta de trabalho, por exemplo)
SendKeys "^n", True
' Envia texto
SendKeys "Olá, mundo!", True
' Envia ENTER
SendKeys "~", True
End Sub
- Abra o Editor do VBA:
- No Excel ou Word, pressione `ALT + F11` para abrir o editor do Visual Basic for Applications.
- Escreva o Código VBA:
- Insira um módulo ou use um existente, onde você deseja adicionar o código.
- Use o Método `SendKeys`:
- A sintaxe básica do `SendKeys` é `SendKeys(string, wait)`.
- `string`: a sequência de teclas a serem enviadas.
- `wait`: opcional; se `True`, aguarda a conclusão do processamento das teclas antes de executar a próxima linha de código.
- Exemplo de Uso:
- Executar o Código:
- Você pode executar a macro diretamente do editor do VBA, ou pode adicionar um botão à sua planilha do Excel, por exemplo, e vinculá-lo à macro para execução simples.
Notas Importantes:
- Foco na Janela: A janela para a qual as teclas são enviadas deve estar ativa. Caso contrário, as teclas serão enviadas para qualquer aplicativo que estiver ativo no momento.
- Segurança e Estabilidade: O uso de `SendKeys` pode ser instável, especialmente em sistemas onde outras janelas podem se tornar ativas em resposta a eventos assíncronos. Aplicativos que necessitam de alta confiabilidade devem preferir métodos de automação mais robustos.
- Sintaxe de Teclas Especiais: Algumas teclas têm representações especiais na `string`, por exemplo:
- `^{}` para CTRL + qualquer tecla.
- `%{}` para ALT + qualquer tecla.
- `~` para a tecla ENTER.
- `{TAB}` para a tecla TAB.
- `{F1}` para a tecla F1, etc.
Use o `SendKeys` com cautela, pois ele simula a entrada do teclado no sistema operacional de forma direta e pode não funcionar conforme esperado se o ambiente mudar (como uma janela inesperada se tornando ativa).