Тема: AutoHotkey*
Показать сообщение отдельно
Старый 24.11.2008, 19:48      #5
rmn
Местный
По умолчанию

NNN, ну вот, например, программа по работе - никак не автоматизируется, а запускать приходится каждый день.

Примерно такой скрипт сбацать пришлось.

Код:
; в TimeString сохраняем вчерашнюю дату в формате jul_06
; ее используем в конце как имя файла отчета
Y_Date := A_Now
Y_Date += -1, d  ; must be: += -1
FormatTime, TimeString, %Y_Date% L0x0809 ,  MMM_dd
StringLower, TimeString,  TimeString
; запускаем BLAHBLAH
Run "C:\Program Files\BLAHBLAH.exe"
; логинимся
WinWait, Регистрация blah0
IfWinNotActive, Регистрация blah0, WinActivate, Регистрация blah0,
WinWaitActive, Регистрация blah0,
Send, admin{ENTER}
WinWait, Система BLAHBLAH, 
IfWinNotActive, Система BLAHBLAH, , WinActivate, Система BLAHBLAH, 
WinWaitActive, Система BLAHBLAH, 
; разворачиваем окно на весь экран
WinMaximize, Система BLAHBLAH,
Sleep, 1000
; выбираем на панели слева BLAH1
MouseClick, left,  34,  348
Sleep, 35000
; выбираем на панели слева BLAH2
MouseClick, left,  34,  237
Sleep, 100
; выбираем кой-чё
MouseClick, left,  185,  137
Sleep, 100
; за вчера
MouseClick, left,  183,  156
Sleep, 100
; применить изменения
MouseClick, left,  447,  131
Sleep, 100
; ждем окна подтверждения
WinWait, Информация, 
IfWinNotActive, Информация, , WinActivate, Информация, 
WinWaitActive, Информация, 
; подтверждение
Send, {ENTER}
; !!!! немного ждем - иначе не работает
Sleep, 3000
; ждем завершения генерации отчета
WinWaitActive, Система BLAHBLAH, 
; нажимаем кнопку Экспорта в excel
MouseClick, left,  356,  132
; ждем диалог сохранения
WinWaitActive, Сохранить как
; вводим вчерашнюю дату в качестве имени файла отчета
Send, %TimeString%{ENTER}
; немного ждем
Sleep, 7000
; и закрываем BLAHBLAH
WinClose, Система BLAHBLAH
; if FileExist("C:\_logs\%TimeString%.xls")
; запускаем excel
Run "C:\Program Files\Microsoft Office\OFFICE11\excel.exe"  "C:\_logs\%TimeString%.xls"
WinWait, Microsoft Excel - %TimeString%.xls, 
IfWinNotActive, Microsoft Excel - %TimeString%.xls, , WinActivate, Microsoft Excel - %TimeString%.xls, 
WinWaitActive, Microsoft Excel - %TimeString%.xls, 
; разворачиваем на весь экран
WinMaximize, Microsoft Excel - %TimeString%.xls,
Sleep, 1000
; запускаем макрос
MouseClick, left,  642,  87
; немного ждем
Sleep, 10000
; закрываем excel
WinClose, Microsoft Excel - %TimeString%.xls,
Sleep, 1000
; копируем отчеты на сервер
Run "C:\blahblahdir\copy_logs.bat"

Последний раз редактировалось rmn; 24.11.2008 в 19:49.
rmn вне форума   Ответить с цитированием Вверх