Notifications
Clear all

"coletar" dados/string da tela aberta

5 Posts
2 Usuários
0 Reactions
1,103 Visualizações
(@paulovitor)
Posts: 29
Eminent Member
Topic starter
 

olá, amigos.

que método vocês usariam para uma planilha que precisaria "pegar" dados da tela?

estou usando uma macro que copia dados de uma planilha e joga na tela (sendkeys), mas em determinado momento, essa tela vai apresentar uma informação (código) que eu preciso usar para continuar a macro.

mas como armazenar essa informação? no visual basic, a galera usa muito o MyScreen.getstring(). E até já vi ele aplicado a vba

Dt = MyScreen.getstring(7, 11, 8)
Let ActiveCell.Offset*(0, 4).Range("a1")

mas nao sei se é um recurso nativo ou precisa de um suplemento.

bom, mas o quero saber eh o que recomendam no meu caso, para copiar e guardar numa variável ou célula uma string que aparece numa janela aberta

 
Postado : 05/07/2018 12:15 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Se vc sabe o momento que esta informação e apresentada na tela e da onde vem carregue em uma variavel.

E use a variavel no momento que precisar.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 05/07/2018 1:43 pm
(@paulovitor)
Posts: 29
Eminent Member
Topic starter
 

marcelo, vc poderia me mostrar um exemplo?

 
Postado : 09/07/2018 8:08 am
(@mprudencio)
Posts: 2749
Famed Member
 

Vamos supor que a "captura da tela" seja apos uma msgbox

Sub teste()

Dim Valor as string 'Pode ser um texto ou um numero.

Msgbox "Teste"

Valor = range("A1").value

'Aqui posso fazer o que quiser que o valor de A1 vai estar gravado e posso usa-lo qdo quiser.

end sub

Neste codigo a variavel carrega o valor de A1 apos a execução da msgbox.

Entao no momento em que a informação for capturada vc joga essa informação tb na variavel e ai vc pode usar em qualquer momento do codigo.

Eu vi que vc carregou uma informação em uma variavel Dt vc pode fazer "o que quiser" com esta informação.

Suponha que vc queira no final do codigo gravar essa informação em uma celula

Range("A1").value = Dt

Ou ter essa informação em uma msgbox

Msgbox Dt

Enfim o ceu é o limite.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 09/07/2018 7:35 pm
(@paulovitor)
Posts: 29
Eminent Member
Topic starter
 

esqueci de mencionar que nesse caso, os dados vao estar em uma janela aberta de outro programa: que não eh o excel. eh de um outro aplicativo em java.

por exemplo, vejam a imagem no anexo abaixo (teste png):

tem o texto mensagem no bloco de notas, na terceira linha. o que vcs fariam para pegar esse conteudo e colar numa celula a2 do excel? sem usar o mouse e sem poder mexer o cursor

 
Postado : 10/07/2018 6:50 am