Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Sendkeys simular pulsaciones de teclas

(adsbygoogle = window.adsbygoogle || []).push({});

El método Sendkeys en VBA se utiliza para simular pulsaciones de teclas que deben ser ingresadas manualmente por el usuario en la ventana activa; puede ser usado en una macro para simular la tecla Enter, cualquier otra tecla o combinación de tecla; con este método a los fines de conseguir los resultados esperados, se debe tener especial cuidado que la ventana que queramos manipular esté activa, caso contrario se puede ejecutar un comando no deseados, supongamos que en la ventana activa control + A, realiza una determinada acción y en otra ventana esa misma combinación de teclas realiza otra totalmente distinta, es por ello que se debe tener precaución que la ventana sobre la queramos trabajar este activa al usar el método Sendkeys.

MASTERCARD PAYONEER

Una utilidad por ejemplo del método Sendkeys, es poder enviar a un cuadro de díálogo que solicita una contraseña o password los datos del usuario y contraseña, aquí es necesario llamar primero llamar este método y luego el formulario o cuadro de diálogo que solicita la contraseña.

Si quieres aprender o profundizar  sobre el manejo de hojas de Excel, te recomiendo que leas un excelente libro sobre Excel el que te ayudará manejar las planillas de cálculo, debes hacer click acá, si quieres un libro sobre Excel, en inglés, entonces debes hacer click acá. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores curso que he visto en internet.

La sintaxis del método Sendkeys es la siguiente:

SendKeys(Keys, Wait)


String: valor requerido, es una expresión de cadena la cual expresa cual es la tecla o combinación de teclas, traducida en pulsaciones, que se desea enviar a la página o ventana activa.

wait: es un argumento opcional se puede omitir y toma el valor Falso o False, es un valor de tipo boolean que indica de modo de espera, es decir si el valor es falso o False, que es el valor predeterminado; indica que el control del procedimiento es devuelto inmediatamente luego de enviar las pulsaciones; en caso contrario es decir Verdadero o True, indica que las pulsaciones se procesan antes de devolver el control al procedimiento.

Para que quede más claro el argumento Wait, si este es verdadero Excel debe esperar que la pulsación de la tecla enviada deben ser procesadas antes de devolver el control a la macro, en caso Falso Excel debe seguir ejecutando la macro sin esperar que se procesen las teclas enviadas.

Con el método Sendkey como se dijo se puede enviar pulsaciones de teclas, cada pulsación en el teclado está representada con una letra para referirse a dicho caracter se usa la letra propiamente dicha, es decir para que se envié  la pulsación de la letra Z, se debe utilizar «Z»  como string, si se quieren agregar más se debe agregar cada caracter en forma seguida, por ejemplo para la letra Z se debe agregar «Z»,  si se quiere agregar la letra R, seguidamente la S y luego la T, se debe expresar así «RST».

     

Los siguientes símbolos tienen un significados especial con el método Sendkeys es por ello que se deben encerrar entre llaves{ }; los símbolos son: mas (+); intercalación (^), porcentaje (%) y paréntesis ( ); se debe tener en cuenta que los corchetes [ ] no tienen significado especial para el método Sendkeys, sin embargo se recomienda escribirlos entre llaves, ya que en otras aplicaciones si tiene un significado especial y por ende puede llevar a resultados inesperados; ahora bien si lo que se quiere es especificar el símbolo llave propiamente dicho se debe escribir { {} y { } }.

Si lo que se requiere es enviar una combinación de teclas como SHIFT, MAYÚSCULA, CONTROL y ALT,  se deben introducir delante del código de la tecla algunos de los siguientes códigos:

Tecla            
 
Símbolo
SHIFT (Mayúscula) 
CTRL (Control) ^
ALT  %

Seguramente en varias oportunidades deberemos especificar o simular caracteres que no se muestran al presionar una tecla o teclas que representan una determinada acción como print screen,  lo que se requiere es enviar una combinación de teclas como  MAYÚSCULA, CONTROL y ALT,  se deben introducir delante del código de la tecla algunos de los siguientes códigos:

Tecla Código
Retroceso {BACKSPACE},
{BS}o {BKSP}
Pausa {BREAK}
Bloq Mayús {CAPSLOCK}
Supr {DELETE}
o {DEL}
Flecha abajo {DOWN}
Fin {END}
Entrar {ENTER}o
~
Esc {ESC}
Ayuda {HELP}
Inicio {HOME}
Insert {INSERT}
o {INS}
Flecha izquierda {LEFT}
Bloq Num {NUMLOCK}
Re Pág {PGDN}
Av 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}

Si cualquier combinación de teclas SHIFT, CTRL ó ALT se debe mantener presionada mientras se envían otros caracteres, se requiere agregar el código para estas teclas entre paréntesis, por ejemplo si de desea presionar mayúscula y la letra R y T (es decir R y T mayúsculas), se debe usar «+ (RT)»; ahora si lo que se desea, es presionar la mayúscula y la T solamente en mayúscula y la T en minúscula se debe usar «+RT»; es preciso aclarar que en este último caso no hay paréntesis y las pulsaciones de teclas enviadas serán una R mayúscula y una T minúscula, mientras que usando paréntesis se enviaran pulsaciones de teclas que se interpretan como R y T mayúsculas. 

En el caso que se necesite enviar una repetición de teclas, se puede utilizar (tecla número) debiendo incluir un espacio entre ambos; por ejemplo si se requiere pulsar la tecla flecha a la derecha 100 veces, se puede usar flecha derecha más el número 100, el código quedaría de esta manera: «{Right  100}»; ahora si se lo que se quiere repetir es la tecla A 20 veces el código debería ser: «A 20», lo cual significa que se repetirá 20 veces la pulsación de la tecla o carácter A.

Ahora te mostraré algunos ejemplos de uso del método SendKeys, esto funcionará siempre que la ventana activa sea Excel, ya que si estuviera activa otra ventana los resultados no podrían ser los esperados, esto es lo que se recalca cuando se menciona que se debe tener un especial cuidado sobre cual es la ventana activa que recibe el envío de teclas mediante macros.

Aquí se usa el método SendKeys  para salir de Excel
Application.SendKeys «% {F4}
Abre el editor de VBA

Application.SendKeys «%{F11}»

Abre la ayuda de Excel
Application.SendKeys «%{F1}»

Edita una celda de Excel
Application.SendKeys «%{F2}

Otros post de utilidad:

  1. Recuperar password de hoja bloqueada
  2. Función BUSCARV
  3. Función USCARH
  4. Función SI
  5. Traducción de funciones de Excel a diferentes idiomas
  6. Abre explorador de archivo de Windows e inserta foto
  7. Abre explorador de archivo de Windows
  8. Combobox suma datos repetidos
  9. Busca un dato en todas las hojas de excel
  10. Combobox incrustado en Excel
  11. Formulario para insertar datos en hoja de excel
  12. Formulario de alera y envío de mail
  13. Tutoriales sobre VBA
  14. Llenar combobox y buscar datos
  15. Mensaje de Alerta y envío de mail con Excel
  16. Combobox que lista hojas de excel y las selecciona
  17. Busca un dato en todas las hojas de excel

Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


(adsbygoogle = window.adsbygoogle || []).push({});

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Entradas relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Comentarios (35)

mcetxfaosriieniwfnvvliieckjwrf

Responder

I am the co-founder of JustCBD Store brand (justcbdstore.com) and I am currently aiming to develop my wholesale side of business. It would be great if anybody at targetdomain is able to provide some guidance 🙂 I thought that the most ideal way to accomplish this would be to talk to vape stores and cbd stores. I was really hoping if anybody at all could recommend a trusted web site where I can buy Vape Shop B2B Email Marketing List I am presently checking out creativebeartech.com, theeliquidboutique.co.uk and wowitloveithaveit.com. Unsure which one would be the very best selection and would appreciate any advice on this. Or would it be much simpler for me to scrape my own leads? Suggestions?

Responder

возьмёт на себя все необходимые работы посмотрите что советуют профессионалы ликвидация ООО

Responder

I must thank you for the efforts you have put in penning this site. I’m hoping to view the same high-grade content from you in the future as well. In fact, your creative writing abilities has motivated me to get my own blog now 😉

Responder

I love reading an article that can make men and women think. Also, thank you for allowing me to comment!

Responder

There’s definately a lot to learn about this subject. I love all of the points you’ve made.

Responder

Spot on with this write-up, I absolutely believe that this amazing site needs much more attention. I’ll probably be returning to see more, thanks for the information!

Responder

I’m impressed, I must say. Rarely do I come across a blog that’s equally educative and interesting, and let me tell you, you have hit the nail on the head. The problem is something too few men and women are speaking intelligently about. Now i’m very happy that I came across this in my hunt for something concerning this.

Responder

It’s hard to come by educated people for this topic, however, you sound like you know what you’re talking about! Thanks

Responder

The very next time I read a blog, I hope that it doesn’t fail me just as much as this particular one. After all, Yes, it was my choice to read through, but I truly believed you would have something helpful to talk about. All I hear is a bunch of whining about something that you can fix if you were not too busy seeking attention.

Responder

Right here is the perfect blog for everyone who hopes to find out about this topic. You realize a whole lot its almost hard to argue with you (not that I personally would want to…HaHa). You certainly put a brand new spin on a topic that has been written about for ages. Wonderful stuff, just wonderful!

Responder

Saved as a favorite, I really like your web site!

Responder

Good info. Lucky me I ran across your website by chance (stumbleupon). I’ve book-marked it for later!

Responder

I blog quite often and I truly thank you for your information. The article has really peaked my interest. I’m going to book mark your site and keep checking for new details about once per week. I opted in for your RSS feed as well.

Responder

Way cool! Some extremely valid points! I appreciate you penning this article and the rest of the website is also very good.

Responder

Pretty! This was an extremely wonderful article. Thank you for providing this information.

Responder

Great post. I will be dealing with many of these issues as well..

Responder

I quite like looking through a post that can make men and women think. Also, thank you for allowing me to comment!

Responder

This is a topic that’s close to my heart… Best wishes! Exactly where are your contact details though?

Responder

I’m excited to discover this web site. I need to to thank you for your time for this wonderful read!! I definitely really liked every part of it and I have you saved as a favorite to see new things on your blog.

Responder

I couldn’t refrain from commenting. Very well written!

Responder

I really love your blog.. Excellent colors & theme. Did you create this amazing site yourself? Please reply back as I’m attempting to create my own personal site and would like to know where you got this from or just what the theme is named. Kudos!

Responder

Good post. I learn something new and challenging on websites I stumbleupon every day. It’s always helpful to read through content from other authors and practice something from other websites.

Responder

I was able to find good info from your blog articles.

Responder

Pretty! This has been an incredibly wonderful post. Thanks for providing this info.

Responder

Good article! We will be linking to this great post on our site. Keep up the good writing.

Responder

Greetings! Very helpful advice within this article! It’s the little changes which will make the most important changes. Many thanks for sharing!

Responder

This website really has all of the information and facts I needed concerning this subject and didn’t know who to ask.

Responder

Hi there, yup this article is actually fastidious and I have learned
lot of things from it about blogging. thanks.

Responder

If some one desires expert view on the topic of blogging then i suggest him/her to pay a quick visit this blog, Keep up the pleasant work.

Responder

I’d like to thank you for the efforts you have put in penning this site. I’m hoping to check out the same high-grade content from you later on as well. In truth, your creative writing abilities has inspired me to get my own blog now 😉

Responder

Greetings! Very helpful advice in this particular article! It is the little changes which will make the most significant changes. Thanks for sharing!

Responder

I was curious if you ever considered changing the page layout of your blog?
Its very well written; I love what youve got to say.
But maybe you could a little more in the way of content so people
could connect with it better. Youve got an awful lot of text for
only having one or 2 pictures. Maybe you could space it out better?

Responder

thank you for your forum/blog

Domains

Responder

I used to be able to find good advice from your articles.

Responder