Notifications
Clear all

Método SendKeys

6 Posts
3 Usuários
0 Reactions
1,543 Visualizações
(@juauvitor)
Posts: 72
Trusted Member
Topic starter
 

Boa tarde ou dia, senhores,

Precisava muito de ajuda de quem entende de SendKeys, é o seguinte.:

Queria que, o que tivesse digitado em uma célula, por exemplo "A1", fosse passado para outro programa do computador (por exemplo o Word, para simplificar).
Neste caso posso usar o método do "SendKeys Ctrl C, Ctrl V", porém, não vai funcionar no programa que eu desejo colar a informação, na caixa de texto pede uma data, e se na célula "A1" tiver uma data específica, depois ela ser copiada e colada neste outro programa, ele não aceita, só ceita se for digitado mesmo.

Concluindo, existe alguma gambiarra pra colocar um código do tipo:
SendKeys "(oq estiver escrito na célula, letra a letra)"
SendKeys "{ENTER}"
SendKeys....
...

Tipo, se estiver escrito na célula (1234) o comando deve responder algo do tipo:
SendKeys "1"
SendKeys "2"
SendKeys...
E assim por diante.

Acho que explicando assim ficou fácil de entender apesar de confuso.
Grato pela atenção, Aguardo algum retorno.

 
Postado : 09/09/2016 10:21 am
DJunqueira
(@djunqueira)
Posts: 772
Prominent Member
 

O q vc quer fazer é com outro programa no seu computador ou com um site da internet?

Se sua dúvida foi respondida marque o tópico como RESOLVIDO usando o botão com marca verde.

 
Postado : 09/09/2016 11:37 am
(@juauvitor)
Posts: 72
Trusted Member
Topic starter
 

é com outro programa, dai este programa não aceita que eu copie e cole, ele é obrigatório que seja digitado, fiz o teste com algo programado no SendKeys e deu certo. Porém, quero que seja digitado o que tiver na célula, que vai estar sempre mudando de acordo com as vezes que eu utilizar a macro.

 
Postado : 09/09/2016 11:40 am
(@juauvitor)
Posts: 72
Trusted Member
Topic starter
 

Ninguém?

 
Postado : 15/09/2016 11:18 am
Basole
(@basole)
Posts: 487
Reputable Member
 

Ja tentou faze um loop em cada caracter da celula, com um cltr+c e cltr+v .

ex.:

Sub Teste()
             Dim str(1) As String
             str(1) = ActiveSheet.[A1].Value
            
            For j = LBound(str) To UBound(str)
                For i = 1 To Len(str(j))
                    'coloque seu codigo aqui SendKey{}
                    Debug.Print Mid(str(j), i, 1)
                Next i
            Next j
     End Sub

Click em se a resposta foi util!

 
Postado : 15/09/2016 12:11 pm
(@juauvitor)
Posts: 72
Trusted Member
Topic starter
 

Agradeço muito pela ajuda, porém ainda não conclui com exatidão.
Exatamente no final que eu preciso da data, espero que dê certo, mas não sei como organizar esse código para que toda essa função abaixo funcione, talvez executar uma "Call" aqui.
agradeço novamente a ajuda e fico no aguardo.

Sub Botão22_Clique()

' Teste Macro

UserForm1.Show


Shell "P:C5ClientTesourariaTesourariaN.exe", vbNormalFocus

SendKeys "joaov"
SendKeys "{Tab}"
SendKeys "jf0905"
SendKeys "{Tab}"
SendKeys "{DOWN}"
SendKeys "{DOWN}"
SendKeys "{ENTER}"

SendKeys "%"

SendKeys "{M}"
SendKeys "{ENTER}"
SendKeys "{Tab}"
SendKeys "{Tab}"
SendKeys "{DOWN}"
'Preciso que a data que esteja em "A1" seja colocada aqui

 
Postado : 15/09/2016 1:31 pm