COMO PEGAR UMA SELE?ÃO DE TEXTO NO GETSCREEN
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
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
Faça seu login para responder