Crie um AHK para fazer uma tarefa específica automaticamente

0

Eu tenho que abrir um programa chamado " EDI Tracker.exe " e procurar um arquivo do Excel " 867_CCM.xls " e pressionar Enter e esperar o programa processar o arquivo excel. O tempo de processamento pode diferir com base no tamanho do arquivo. Em seguida, após o processamento ser concluído, uma caixa de mensagem com o título "Resultado" será exibida dizendo " Parabéns! Nenhuma falha encontrada ". Quando esta caixa de mensagem aparecer, imprimai a tela e enviei a tela do Outlook por e-mail juntamente com o anexo do Excel. O ponto é que esta é minha rotina diária e quero automatizá-la. Então estou usando o AHK. Abaixo está meu script até agora

Run, open "C:\Program Files\EDI867 Tracer\EDITracker.exe"
sleep, 1500
MouseClick, left, 1299, 85
Send, "867_CCM.xls
Send {Enter}
Return

Agora, quero que o script aguarde até que a caixa de mensagem apareça e, assim que aparecer, quero fazer a tela de impressão e enviar por e-mail a captura de tela e o arquivo excel mencionado acima como anexo a pessoas específicas.

P.S: Eu sempre mantenho o arquivo excel em minha área de trabalho.

    
por Dragonborn 07.09.2015 / 04:37

1 resposta

1
SetTitleMatchMode, 2
WinWaitActive, Congratulations    ; match on a partial title is more readable
SendInput {PrintScreen}

; pseudo code... will need modified...
; Use IrfanView or other utility to save the clipboard to a file
; For IrfanView use /silent /clippaste /cmdexit options
filepath := "c:\yourpath\to\save\file\at\screenshot.jpg"
cmdToRun := "c:\program files (x86)IrfanView\i_view32.exe " . filePath . "<options>"
runwait, %cmdtoRun%

Isso deve salvar sua captura de tela no disco.

Para que as tarefas restantes enviem um email com os anexos, convém fazer a transição para um arquivo .vbs que chama o Outlook, cria um novo email e anexa os arquivos que você deseja ao email antes de enviá-lo. Procure outro lugar para esses exemplos. Você seria capaz de executar o arquivo .vbs do seu script .ahk usando o comando run, uma vez que a captura de tela tenha sido capturada.

    
por 22.09.2015 / 07:28