今天上班的时候碰到了一个很无奈的问题:一个公司的客户不断上传格式错误的文件,致使我们的Windows服务器不断弹出Invalid Fax Merge的窗口,需要每次点击“OK”才能继续下一项任务。如果是几十个文件也就算了,但那是几千个啊!!!一开始我还手工点确定,但每隔一两分钟就去点一次,实在受不了,所以我就想到写个VBScript来自动处理。由于之前没怎么接触过VBScript,所以就参考了网上的一些案例,然后自己修改了一下。因为是急着用,所以写得仓促,希望有高手能替我修改一下,欢迎大家留言。
其实这个脚本很简单,只要完成以下要求:
1.当Invalid Fax Merge的窗口弹出后,激活窗口
2.点击两次Tab键,移动到OK按钮
3.点击回车一次
4.休眠3秒
5.重复步骤1-4五次(客户平均一次上传5个格式错误的文件)
6.退出脚本
这是我的代码,不过我觉得问题很大,我不知道如何用事件触发,也就是在窗口弹出后自动运行这个脚本。我暂时的解决方法是用Windows Server自带的Scheduled Task,让它每隔1分钟运行一次脚本。
Set WshShell=Wscript.CreateObject("Wscript.Shell") WshShell.AppActivate "Invalid Fax Merge" //激活标题为Invalid Fax Merge的窗口 WshShell.SendKeys vbTab //点击Tab一次 WshShell.SendKeys vbTab //点击Tab一次 WshShell.SendKeys "~" //点击回车一次 Wscript.sleep 3000 //休眠3秒 WshShell.AppActivate "Invalid Fax Merge" WshShell.SendKeys vbTab WshShell.SendKeys vbTab WshShell.SendKeys "~" Wscript.sleep 3000 WshShell.AppActivate "Invalid Fax Merge" WshShell.SendKeys vbTab WshShell.SendKeys vbTab WshShell.SendKeys "~" Wscript.sleep 3000 WshShell.AppActivate "Invalid Fax Merge" WshShell.SendKeys vbTab WshShell.SendKeys vbTab WshShell.SendKeys "~" Wscript.sleep 3000 WshShell.AppActivate "Invalid Fax Merge" WshShell.SendKeys vbTab WshShell.SendKeys vbTab WshShell.SendKeys "~" Wscript.sleep WScript.Quit