SendKeys de VBA

SendKeys de VBA

El método VBA SendKeys se utiliza para enviar pulsaciones de teclas a la aplicación activa:

1 Application.SendKeys ("s")

El código anterior imitará presionar la tecla "s" en el teclado.

El método SendKeys toma dos argumentos:

  • Claves: la (s) clave (s) que desea enviar a la aplicación como texto.
  • Esperar (Opcional)- Este valor puede ser Verdadero o Falso. Si es True, Excel espera a que las claves se procesen primero antes de ejecutar la siguiente línea de código. Si es False, Excel continúa ejecutando el procedimiento sin esperar a que se procesen las claves.

SendKeys se usa generalmente al interactuar con otras aplicaciones porque es una forma rápida y fácil de realizar tareas. Por ejemplo, puede utilizar SendKeys al automatizar Internet Explorer.

Sin embargo, debe tener mucho cuidado al utilizar el método SendKeys, ya que puede tener resultados inesperados. Recomendamos usar SendKeys solo como último recurso y / o cuando los errores sean tolerables (o fácilmente detectables).

Ejemplos de SendKeys de VBA

Cada tecla en términos de letras está representada por su carácter, por ejemplo, a es "a".
Si desea utilizar teclas en combinación con Ctrl, Shift o Alt, debe preceder el código de la tecla con lo siguiente:

Llave Código
control ^
Cambio +
Alt %

El siguiente código usa el método SendKeys para guardar el libro de trabajo:

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

Como mencionamos anteriormente, debe tener mucho cuidado al usar SendKeys. El siguiente código especifica un tiempo de espera de 10 segundos antes de que el texto se ingrese / envíe al Bloc de notas. Al esperar 10 segundos, permite que el Bloc de notas se abra correctamente, lo que reduce la posibilidad de un error.

Nota: Este código utiliza el método Application.Wait.

1234567 Sub UsingSendKeysWithWait ()Llamar a Shell ("C: \ Windows \ system32 \ Notepad.Exe", vbNormalFocus)Application.Wait (Now () + TimeValue ("00:00:10"))Llamar a SendKeys ("Este es un texto", verdadero)End Sub

El resultado después de 10 segundos de tiempo de espera es:

SendKeys puede ser una forma extremadamente rápida y fácil de realizar tareas. Sin embargo, los riesgos de errores son relativamente altos. ¡Utilice SendKeys solo cuando ese riesgo sea aceptable!

wave wave wave wave wave