我公司有计算机生成的报告,这些报告以Excel电子表格的形式出现,并通过电子邮件发送给计费部门。他们希望这些报告在收到后自动打印。
我已经找到了一个可以自动下载电子邮件附件的程序,称为Mail Attachment Downloader。
现在理想情况下,我想要一个程序,该程序将:
我知道我可以编写一个批处理文件来处理#3;而#1并不是真正必要的。我可以在特定时间运行一个程序,以自动打印出它看到的所有文件,然后在其后添加一个批处理文件,以将文件移至其他位置。但是事实证明,找到一个可以自动打印Excel电子表格的程序很困难。
我已经看到了一些可以自动打印电子表格的Excel宏,但是我希望它自动打开它们并单独打印它们。
我要面对的挑战之一是帐单部还没有Microsoft Excel。在不久的将来,他们将拥有一台装有Excel 2010的计算机,但目前只有LibreOffice。
我使用AutoIt制作了一个脚本,该脚本可打开Excel,打开指定文件夹(以“ viat”开头)中的唯一文件(以“ elec”开头),打印,关闭Excel,然后运行批处理文件来存档归档它刚刚打印。
这是AutoIt脚本文件的代码。我花了好一会儿才发现这个问题,直到发现需要“睡眠”命令才能使其正常工作。
Run("C:\Program Files (x86)\Microsoft Office\Office14\Excel.exe")
WinWaitActive("Microsoft Excel")
Send("^o")
WinWaitActive("Open")
ControlClick("Open", "", 1148)
Send("c:\viat{DOWN}{ENTER}")
Sleep(1000)
Send("elec")
Sleep(1000)
Send("{DOWN}{ENTER}")
WinWaitActive("Microsoft Excel")
Send("^p")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
WinClose("Microsoft Excel")
Sleep(1000)
Run(""C:\Users\Chris\Documents\ViaTrack Archives\archiver.bat"")
这是archiver.bat的代码:
move "C:\ViaTrack Reports\*.*" "C:\Users\Chris\Documents\ViaTrack Archives"
这是极其简单的编码,但是可以完成工作。该脚本的主要缺点是,如果文件夹中不存在该文件,它将导致Excel引发错误。但是,它计划在通常通过电子邮件将文件发送给我后大约一个小时运行,以防止任何意外的延迟。
通常,每个工作日的凌晨5:40通过电子邮件发送该文件。从历史上看,它永远不会迟于5:45到达。邮件附件下载器设置为每15分钟检查一次新附件。
今天早上工作得很好。帐单部门经理很高兴进来,发现她的报告正在打印机上等待着她,而她不必自己打印出来。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句