Visual Basic - portapapeles

Life is soft - evento anual de software empresarial
 
Vista:

portapapeles

Publicado por miguel Angel Morales cortes (4 intervenciones) el 11/10/2017 00:25:16
hola amigos estoy realizando un pequeño programa con el portapapeles
he utilizado el siguiente código
1
2
3
My.Computer.Clipboard.SetText("primer texto " & TextBox1.Text & " segundo texto")
SendKeys.Send("%{TAB}")
msgbox(My.Computer.Clipboard.GetText())

linea 1 "lo uso para copiar la informacion la portapapeles"
linea 2 "me desplaza al programa anterior activo ejemp, block de notas"
linea 3. "muestra un mensaje con la informacion en el portapapeles"

me falta una linea que me permita pegar la informacion a un elemento de windows, ya sea desde interten explorer, google crome, block de notas, o cualquier elemento de texto que tenga activo

he intentado usar
1
SendKeys.Send("^+v") "para que pegue la informacion pero no me da resultado"

tendran alguna idea del xq me falla, requiero que se ejecute en windows 10

anteriormente con Visual 6.0 me daba con este codigo
1
2
SendKeys "%{TAB}"
SendKeys "Hola buen dia le atiende " & Text1.Text & " ¿en que puedo ayudarle?"
pero ya no mas
me pueden ayudar
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 Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

portapapeles

Publicado por Andres Leonardo (1798 intervenciones) el 11/10/2017 18:07:11
Intenta asi

1
SendKeys.Send("^v")

en ves de esto
1
SendKeys.Send("^+v") "para que pegue la informacion pero no me da resultado"
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 Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

portapapeles

Publicado por Andres Leonardo (1798 intervenciones) el 11/10/2017 21:26:42
1
2
3
4
5
6
7
8
9
10
11
'primero probemos conceptos
dim X as String  ' Declara una variable String 
X= "primer texto " & TextBox1.Text & " segundo texto"  Esto es lo qeu se debe copiar
My.Computer.Clipboard.SetText(X)
msgbox X  ' Para ver que lo que puse en el portapeles se va a ver bien ..... 
'SendKeys.Send("%{TAB}")' Comenta esta Linea 
msgbox(My.Computer.Clipboard.GetText())
'Crea otro textbox 2 
text2.setfocus
SendKeys.Send("^v")
'Mira si se pego el contenido.
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

portapapeles Solucionado

Publicado por miguel Angel Morales cortes (4 intervenciones) el 12/10/2017 00:47:40
hola, muchas gracias por tu ayuda.
el detalle esta en, que en el lapso de pasarse de ventana a ventana (VB a Notepad) este ejecuta la acción por lo cual al estar en el bloc de notas, la instrucción de pegar, ya se concluyo

trate de hacerlo con un timer pero tenia que hacer 2 y mas codigo
mi resultado a quedado asi

1
2
3
4
5
6
Dim X As String
X = "primer texto " & TextBox1.Text & " segundo texto"
My.Computer.Clipboard.SetText(X)
SendKeys.Send("%{TAB}")
System.Threading.Thread.Sleep(250) 'aqui he indicado que espere un tiempo y después siga con el proceso (pausa de 250 ms)
SendKeys.Send("^v")

o de igual manera hubiera quedado

1
2
3
4
My.Computer.Clipboard.SetText("primer texto " & TextBox1.Text & " segundo texto")
SendKeys.Send("%{TAB}")
System.Threading.Thread.Sleep(250)
SendKeys.Send("^v")

espero y esto pueda ayudar a alguien mas y sobre todo la experiencia.
seguiremos en contacto y en verdad gracias por tu ayuda
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