Ler elementos de outro programa

1 resposta
N

Pessoal,

onde eu trabalho o pessoal desenvolve algumas macros no access, para capturar informações e outros aplicativos abertos.

Exemplo: Tenho uma macro que captura as informações do excel.
Questão: Como ler as informações de outras interfaces gráficas ativas?

exemplo em VB

Function CapturaUnidade()
    'abre as conexões com o extra, caso não tenha êxito é finalizado a sessao
    Set sistema = CreateObject("Extra.System")
    Set sessao = sistema.ActiveSession
    If (sessao Is Nothing) Then
        MsgBox ("O aplicativo não está aberto")
        Stop
    End If
    Set tela = sessao.Screen
    sistema.timeoutValue = 18000
    'navegacao do extra com as opções
    tela.putString "5", 17, 38
    tela.putString "20", 17, 41
    tela.SendKeys ("<ENTER>")
    Espera
    MsgBox ("Entre com o usuário e senha")
    tela.putString "10", 5, 15
    tela.putString "10", 6, 15
    tela.SendKeys ("<ENTER>")
    Espera
.
.
.
.

att

Nilson

1 Resposta

R

Você consegue fazer isso em VB por causa das tecnologias OLE/DDE/COM/DCOM que os softwares do pacote Office oferecem, elas facilitam bastante a comunicação entre processos. Para usar COM/DCOM em Java, há a biblioteca j-interop:

http://sourceforge.net/projects/j-interop/

Para OLE/DDE, infelizmente não conheço implementações Java.

Criado 28 de janeiro de 2011
Ultima resposta 28 de jan. de 2011
Respostas 1
Participantes 2