Visual Basic - SendKeys "{tab}" no andó..

Life is soft - evento anual de software empresarial
 
Vista:

SendKeys "{tab}" no andó..

Publicado por Sebas (1 intervención) el 09/07/2012 06:41:36
Por favor, alguien sabe si el código es correcto en VB6 para emular la tecla Tab, presionando la tecla enter.

1
2
3
4
5
6
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        KeyAscii = 0		' Para que no "pite"
        SendKeys "{tab}"	' Envía una pulsación TAB
        End If
End Sub

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Gonzalo Quintana

SendKeys

Publicado por Gonzalo Quintana (2 intervenciones) el 12/07/2012 17:40:06
Sebas
Acabo de probar el código brindado por ti y me funciona a la perfección...
Si pudieras comentar algo más...
Saludos,

Gonzalo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de RAUL
Val: 2
Ha aumentado su posición en 97 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SendKeys

Publicado por RAUL (443 intervenciones) el 29/07/2012 05:28:41
Si yo lo veo correcto y tambien lo utilzo asi aca un ejemplo:


1
2
3
4
5
6
Private Sub txtColor_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
KeyAscii = 0
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

SendKeys

Publicado por Malandrin (2 intervenciones) el 30/07/2012 15:42:07
Bueno, tu pregunta es que si alguien sabe si el código es correcto, a lo que te respondo que yo sí sé que es correcto, pues lo utilizo en mis programas.
¿Qué problema tienes o qué sucede en tu código?
Por cierto. "andó" ¿de qué verbo es esa conjugación? Muchos no lo saben, no lo creen, no lo implementan o no les importa, pero la ortografía y la programación no están reñidas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SendKeys

Publicado por Lander Cayetano (7 intervenciones) el 13/08/2012 16:51:31
El código es correcto.
Si usas Windows 7 olvídate que funcione bien, a veces va y otras no. ¿Por qué?, bueno creo que no lo sabe nadie...

Ten en cuenta en tu programa el número que tengas en la propiedad TabIndex de los objetos de tu formulario, si no es correlativo, puede que tengas ahí el problema. A un que veo que no usas matrices de objetos para tu objeto llamado "Text1", en tal caso podrías llamar a la rutina .SetFocus que suele tener todos los objetos que puedan tener foco, claro.

Un saludo, Lander.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

SendKeys

Publicado por Eduardo (3 intervenciones) el 05/09/2015 17:12:16
Es verdad. En Win 7 no funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SendKeys

Publicado por Diana (1 intervención) el 13/08/2020 04:36:56
Buenas noches. yo tengo win 8.1 y tampoco funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Mejia
Val: 3
Ha aumentado su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SendKeys

Publicado por Juan Mejia (1 intervención) el 12/02/2019 17:02:37
Excelente idea.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SendKeys

Publicado por Victor (34 intervenciones) el 30/08/2012 19:29:27
Revisa las propiedades del formulario "KeyPreview=True" si esta en False no se ejecutara el sub.

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SendKeys "{tab}" no andó..

Publicado por Julio (3 intervenciones) el 28/04/2017 18:10:16
Pruebe con: sendkeys vbtab
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SendKeys "{tab}" no andó..

Publicado por Enrique (1 intervención) el 26/09/2019 21:39:18
Para Win7 en adelante, adiciona esta sub en cualquier modulo

1
2
3
4
5
6
Public Sub Sendkeys(text as variant, Optional wait As Boolean = False)
   Dim WshShell As Object
   Set WshShell = CreateObject("wscript.shell")
   WshShell.Sendkeys cstr(text), wait
   Set WshShell = Nothing
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

SendKeys "{tab}" no andó..

Publicado por Pam (1 intervención) el 16/07/2022 19:47:57
Hola Enrique, este código me funcionó para el mismo problema. Te agradezco mucho, yo uso W7. Igual si no fuera la molestia me gustaría que me indicarás por favor cómo funciona este sub, para entenderlo. Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 355
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SendKeys "{tab}" no andó..

Publicado por raul (160 intervenciones) el 14/08/2020 14:24:09
El codigo es correcto, aunque debo hacerte una salvedad KEYASCII =0 no solo evita que no pite; si no que anula el efecto de la tecla VBRETURNS sobre tu programa.

En cuanto a que no funciona en versiones superiores como W7... es completamente falso.

1- Serciorate que este activado la propiedad KEYPREVIEW del form.
2- Verifica que este codigo lo has escrito en el evento KEYUP del form.
3- Verifica la propiedad TABINDEX de los objetos; veras por defecto VB6 adiciona los TABINDEX en el mismo orden que fueron adicionados al FORM y tal vez el ordenque tienen no sea de tu agrado


Si esto no funciona o si te da un error; entonces as caido en la trampa de las HELL-LIBRARY y te toca reinstalar VB6 + SP6 ya que de alguna forma has actualizado sus librerias con DLL no 100% compatibles con VB6
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar