DUVIDA COM SENDKEYS

IGORSIMOES13 09/12/2014 12:05:21
#443081
Olá!

Estou escrevendo um script usando os comando [Ô]sendkeys[Ô] enviando para dentro de um programa especifico os comandos e textos. Minha dificuldade e que tenho que pegar algumas informações da tela, que teria que teoricamente fazer uma seleção e usar SendKeys [Ô]{^c}[Ô] para trazer o valor do texto para uma variável(area de transferência do windows) usando o [Ô]Clipboard.GetText[Ô]. Porem Na hora que chega o comando SendKeys [Ô]{^c}[Ô] ele da o erro numero , chamada de procedimento invalida. Ficarei muito grato se me ajudarem a copiar o texto da seleção.

Function fcnLancarValidar(IntValor_X As Integer, IntValor_Y As Integer, IntFimValor_X As Integer, LancarTexto As String)
[ô]On Error GoTo tratar_Err

Dim StrTextoSaida
Dim StrTextoEntrada, strTemp

StrTextoEntrada = LancarTexto
Do Until StrTextoEntrada = Pegar_dados
[ô]seleciona e apaga o texto
SetCursorPos IntValor_X, IntValor_Y
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
[ô]arrasta até o ponto fim da seleção
SetCursorPos IntFimValor_X, IntValor_Y
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
SendKeys [Ô]{BACKSPACE}[Ô]
[ô]insere o texto vazio
esperar (1)

SetCursorPos IntValor_X, IntValor_Y
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
SendKeys LancarTexto
esperar (1)
[ô]inicia a seleção
SetCursorPos IntValor_X, IntValor_Y
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
[ô]arrasta até o ponto fim da seleção
SetCursorPos IntFimValor_X, IntValor_Y
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
SendKeys [Ô]{^c}[Ô]
Loop

Exit Function

tratar_Err:

If Err.Number <> 0 Then
Err.Clear
On Error Resume Next
[ô]MsgBox [Ô]Erro ao copiar![Ô]
End If

End Function

Function Pegar_dados() As String
On Error GoTo sair
Dim dtobj As MSForms.DataObject

Set dtobj = New MSForms.DataObject
dtobj.GetFromClipboard
Pegar_dados = dtobj.getText

Exit Function
sair:
Pegar_dados = [Ô][Ô]
End Function

=D
ASHKATCHUP 22/12/2014 15:36:11
#443342
Boa tarde.

Tente

-SendKeys [Ô]^(c)[Ô]
-SendKeys [Ô]^c[Ô]
ASHKATCHUP 22/12/2014 15:51:02
#443345
Outra coisa: e

Essa tua técnica (SetCursorPos + mouse_event + SendKeys) não é muito confiável, já que o tamanho da tela varia de PC pra PC.

Tu conhece VB.NET? Se sim, eu fiz um projeto pra enviar textos de maneira mais dinâmica: http://www.vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=427313&pagina=1
IGORSIMOES13 22/12/2014 17:02:48
#443351
Obrigado pelo retorno ASHKATCHUP,

eu não tenho conhecimento de VB.net, mas pelo que li no tópico que deu a resposta para o Marcelo, serviria para mim também.

O problema é que baixei o arquivo e não consegui funcionar. Quando tentei abrir, ele executou com o microsoft visual Studio e não conseguir fazer funcionar.

ASHKATCHUP 22/12/2014 17:32:52
#443353
Tche, vou migrar o código pra VB6 e depois posto aqui pra ti.
Faça seu login para responder