Instrucción SendKeys

Envía una o más pulsaciones de teclas a la ventana activa como si se escribieran en el teclado.

Sintaxis

Cadena SendKeys, [wait ]

La sintaxis de la instrucción SendKeys consta de los siguientes argumentos con nombre:

Parte Descripción
string Obligatorio. String expression que especifica las pulsaciones de teclas que enviar.
wait Opcional. El valor Boolean especifica el modo de espera. Si es False (predeterminado), se devuelve el control al procedimiento inmediatamente después de enviar las teclas. Si es True, las pulsaciones de teclas se deben procesar antes de que se devuelva el control al procedimiento.

Observaciones

Cada tecla está representada por uno o más caracteres. Para especificar un carácter de teclado individual, use el carácter. Por ejemplo, para representar la letra A, use "A" para string. Para representar más de un carácter, agregue cada carácter adicional al anterior. Para representar las letras A, B y C, use "ABC" para string.

El signo más (+), el acento circunflejo (^), el signo de porcentaje(%), la tilde ( ~) y el paréntesis () tienen un significado especial para SendKeys. Para especificar uno de estos caracteres, póngalo entre llaves ({}). Por ejemplo, para especificar el signo más, use {+}.

Los corchetes ([]) tienen un significado especial para SendKeys, pero debe ponerlos entre llaves. En otras aplicaciones, los corchetes tienen un significado especial que puede ser importante cuando se produce un intercambio dinámico de datos(DDE). Para especificar los caracteres de llaves, use {{} y {}}.

Para especificar caracteres que no se muestran cuando presiona una tecla, como ENTRAR o TAB, y teclas que representan acciones en lugar de caracteres, use los códigos que figuran a continuación:

Tecla Código
RETROCESO {BACKSPACE}, {BS} o {BKSP}
INTER {BREAK}
BLOQ MAYÚS {CAPSLOCK}
SUPR o SUPRIMIR {DELETE} o {DEL}
FLECHA ABAJO {DOWN}
FIN {END}
ENTRAR {ENTER} o ~
ESC {ESC}
AYUDA {HELP}
INICIO {HOME}
INSERT o INSERTAR {INSERT} o {INS}
FLECHA IZQUIERDA {LEFT}
BLOQ NUM {NUMLOCK}
AV PÁG {PGDN}
RE PÁG {PGUP}
IMPR PANT {PRTSC}
FLECHA DERECHA {RIGHT}
BLOQ DESPL {SCROLLLOCK}
TAB {TAB}
FLECHA ARRIBA {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 combinadas con cualquier combinación de teclas MAYÚS, CTRL y ALT, use antes del código de tecla uno de los siguientes códigos o varios de ellos:

Tecla Código
MAYÚS +
CTRL ^
ALT %

Para especificar que deben mantenerse presionadas las combinaciones de MAYÚS, CTRL y ALT mientras se presionan las otras teclas, ponga el código de esas teclas entre paréntesis. Por ejemplo, para especificar que se mantenga presionada la tecla MAYÚS mientras se presionaron C y E, use +(EC).

Para especificar la repetición de teclas, use la forma {key number}. Debe utilizar un espacio entre key y number. Por ejemplo, {LEFT 42} significa presione la tecla FLECHA IZQUIERDA 42 veces; {h 10} significa presione H 10 veces.

Nota:

No puede usar SendKeys para enviar pulsaciones de teclas a una aplicación que no está diseñada para ejecutarse en Microsoft Windows o Macintosh SendKeys no puede enviar la tecla IMPR PANT {PRTSC} a cualquier aplicación.

Ejemplo

Este ejemplo usa la función Shell para ejecutar la aplicación Calculadora incluida con Microsoft Windows. Usa la instrucción SendKeys para enviar pulsaciones de teclas para agregar números y, después, cerrar la calculadora. (Para ver el ejemplo, péguelo en un procedimiento y, a continuación, ejecute el procedimiento. Dado que AppActivate cambia el foco a la aplicación Calculator, no se puede realizar un solo paso por el código).

En Macintosh, use una aplicación de Macintosh que acepte la entrada de teclado en lugar de la Calculadora de 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. 

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.