创建AHK以自动执行特定任务


0

我必须打开名为“ EDI Tracker.exe ” 的程序并浏览excel文件“ 867_CCM.xls ”并按Enter键并等待程序处理excel文件。处理时间可以根据文件的大小而不同。然后在处理完成后,将弹出一个标题为“结果”的消息框,说“ 祝贺!没有发现故障 ”。当出现此消息框时,我将打印屏幕并通过电子邮件发送Outlook中的屏幕截图以及excel附件。关键是这是我的日常工作,我希望自动化它。所以我正在使用AHK。下面是我的脚本到目前为止

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

现在我希望脚本等到消息框出现,并且一出现我想要打印屏幕并通过电子邮件发送屏幕截图和上面提到的excel文件作为特定人员的附件。

PS:我总是将excel文件保存在桌面上。


1
尝试使用WinWait
AEonAX 2015年

Answers:


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%

这应该将您的屏幕截图保存到磁盘。

对于发送带有附件的电子邮件的剩余任务,您可能希望转换为调用Outlook的.vbs文件,创建新电子邮件并在发送之前将所需文件附加到电子邮件中。在其他地方寻找这些例子。捕获屏幕截图后,您可以使用run命令从.ahk脚本运行.vbs文件。


我前几天偶然遇到了这个链接,这可能允许你在AutoHotkey中编写Outlook的所有内容,而不必使用VBA或.vbs文件。
JJohnston2 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.