@hzl201
2018-07-04T01:07:51.000000Z
字数 21867
阅读 10183
按键精灵 自动
明确目标,在最短的时间内录入尽可能多的有效数据。人工容易出错,执行效率也不高,重复性的工作都交给机器进行处理,先写出手动步骤,再用脚本实现半自动化,最后实现全自动化。人工只进行数据有效性的检查。在实际运用过程中不可能只使用一个脚本实现全部功能,可以分拆成多个脚本灵活调整。
用脚本语言对人工录入数据的步骤进行重现,并一直执行下去。
分析录入过程-分解为循环体-手动执行循环体-使用工具编写循环体脚本-调试脚本-适配和发布
先检查是否可分解为循环体:
有规律、可重复、可定位才能循环执行
循环体执行流程,最小单元化每个步骤。
按流程大致分为三个部分:
1.格式化源数据:先进行excel表的预处理,减少每个表结构不同造成的兼容性问题
2.获取源数据:定位到初始位置,按行或列进行读取,并存储到缓存中
3.填充数据:切换到目标页面,定位到初始位置,进行填充
人工检查录入数据的有效性,决定是否重新执行脚本
按照步骤执行,找到最不容易出错的步骤,记录下关键点,执行完以后要求能定位到下一个源数据和下一个目标页面
按照手动步骤进行重建,不要进行录制,那是无效的,每一步都写好注释
原则
1.尽量都用快捷键进行操作
2.能找点别找图
3.合理设置延迟时间
4.尽量避免死循环
选择语言 我这里使用按键精灵进行脚本的编写,其它的语言大同小异。
反复修改参数,先实现功能,再谈优化效率和冗余检查,并进行迁移适配。
重复的代码可以封装为子程序模块,再进行调用,若每次执行时只有少数代码不同,可加循环并判断。
录入精煤库存
//先打开xls和chrome,xls搜索累计,chrome搜索备注Dim a,a1,a2,a3,a4,a5,a6,aa//但只是复制为字符串,未赋值为变量的数值a=""a1 = 0a2 = 0a3 = 0a4 = 0a5 = 0a6 = 0aa = 0Call Plugin.Sys.SetCLB(a) //清空剪切板Delay 500MoveTo 939, 473LeftClick 1 //鼠标点击煤场库存Delay 200KeyDown 17, 1KeyPress 70, 1KeyUp 17, 1//ctrl+fDelay 200KeyDown 18, 1KeyPress 70, 1KeyUp 18, 1 //alt+f 定位到累计Delay 200MoveTo 78, 663//点击左下角的累计LeftClick 1Delay 200KeyPress "Right", 3 //找到混煤数据Delay 200KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 200a2 = Plugin.Sys.GetCLB()//获取剪切板的数据Delay 50Delay 100KeyDown 17, 1KeyPress 70, 1KeyUp 17, 1//ctrl+fDelay 100KeyDown 18, 1KeyPress 70, 1KeyUp 18, 1 //alt+f 定位到累计Delay 100MoveTo 78, 663//点击左下角的累计LeftClick 1Delay 100KeyPress "Right", 3 //找到精煤数据Delay 100KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 100a1 = Plugin.Sys.GetCLB()//获取剪切板的数据Delay 50Delay 100KeyDown 17, 1KeyPress 70, 1KeyUp 17, 1//ctrl+fDelay 100KeyDown 18, 1KeyPress 70, 1KeyUp 18, 1 //alt+f 定位到累计Delay 100MoveTo 78, 663//点击左下角的累计LeftClick 1Delay 100KeyPress "Right", 3 //找到洗混煤数据Delay 100KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 100a3 = Plugin.Sys.GetCLB()//获取剪切板的数据Delay 50Delay 100KeyDown 17, 1KeyPress 70, 1KeyUp 17, 1//ctrl+fDelay 100KeyDown 18, 1KeyPress 70, 1KeyUp 18, 1 //alt+f 定位到累计Delay 100MoveTo 78, 663//点击左下角的累计LeftClick 1Delay 100KeyPress "Right", 3 //找到煤泥数据Delay 100KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 100a4 = Plugin.Sys.GetCLB()//获取剪切板的数据Delay 50Delay 100KeyDown 17, 1KeyPress 70, 1KeyUp 17, 1//ctrl+fDelay 100KeyDown 18, 1KeyPress 70, 1KeyUp 18, 1 //alt+f 定位到累计Delay 100MoveTo 78, 663//点击左下角的累计LeftClick 1Delay 100KeyPress "Right", 3 //找到混块煤数据Delay 100KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 100a5 = Plugin.Sys.GetCLB()//获取剪切板的数据Delay 50Delay 100KeyDown 17, 1KeyPress 70, 1KeyUp 17, 1//ctrl+fDelay 100KeyDown 18, 1KeyPress 70, 1KeyUp 18, 1 //alt+f 定位到累计Delay 100MoveTo 78, 663//点击左下角的累计LeftClick 1Delay 100KeyPress "Right", 3 //找到矸石数据Delay 50KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 100a6 = Plugin.Sys.GetCLB()//获取剪切板的数据Delay 50Delay 100KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到chromeDelay 300MoveTo 526, 675Delay 100LeftClick 1//点击备注后面的方框Delay 100KeyPress "Tab", 1 //定位到精煤日销量Delay 300Call Plugin.Sys.SetCLB(a1) //将数据写入剪切板Delay 300KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 300KeyPress "Enter", 1 //下一个Delay 300Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板Delay 300KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 300KeyPress "Enter", 1 //下一个Delay 300Call Plugin.Sys.SetCLB(a3) //将数据写入剪切板Delay 300KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 300KeyPress "Enter", 1 //下一个Delay 300Call Plugin.Sys.SetCLB(a4) //将数据写入剪切板Delay 300KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 300KeyPress "Enter", 1 //下一个Delay 300Call Plugin.Sys.SetCLB(a5) //将数据写入剪切板Delay 300KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 300KeyPress "Enter", 1 //下一个Delay 300Call Plugin.Sys.SetCLB(a6) //将数据写入剪切板Delay 300KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 1000MoveTo 18, 263Delay 500LeftClick 1//提交Delay 500MoveTo 511, 290LeftClick 1 //点击上一日Delay 500Delay 150KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到excelDelay 150MoveTo 29, 693 //点击左下角的向左箭头LeftClick 1Delay 300MoveTo 793, 693 //切换到上一日的excel表LeftClick 1Delay 150
煤质化验录入时间
Dim aa = 0Delay 500KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1 //复制日期Delay 100KeyPress "Down", 1KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到chromeDelay 250Do Until a > 5Delay 150KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1 //粘贴Delay 50KeyPress "Down", 1a = a + 1LoopDelay 250MoveTo 14, 257Delay 100LeftClick 1 //点击提交Delay 250MoveTo 762, 293Delay 100LeftClick 1 //点击下一日Delay 250KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换回excel
录入洗混煤
//先打开xls和chromeDelay 500MoveTo 939, 473LeftClick 1 //鼠标点击煤场库存Delay 500KeyPress "Down", 3Delay 500KeyPress "Right", 1 //定位到洗混煤Delay 100KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 100KeyPress "Down", 1Delay 100KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到chromeDelay 300MoveTo 665, 82Delay 100LeftClick 1//进行查找洗混煤Delay 300FindColor 208, 311, 1179, 704, "3296FF", intX, intYDelay 300MoveTo intX, intYDelay 300MoveTo intX + 338, intYDelay 100LeftClick 1//定位到洗混煤库存Delay 100KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 100KeyPress "Enter", 1//定位到湿煤泥Delay 100KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到excelDelay 300KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制湿煤泥数据Delay 100Delay 100KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到chromeDelay 100Delay 100KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴湿煤泥库存Delay 100Delay 1000MoveTo 18, 263Delay 500LeftClick 1//提交Delay 500MoveTo 511, 290LeftClick 1 //点击上一日Delay 500Delay 300KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到excelDelay 300MoveTo 29, 693 //点击左下角的向左箭头LeftClick 1Delay 300MoveTo 793, 693 //切换到上一日的excel表LeftClick 1Delay 300
综合日报填报
//先打开xls和chrome的gc煤矿综合调度填报,在选择好查找选项Delay 500MoveTo 86,656Delay 500LeftClick 1 //定位到这个日期的需要录入的巷道名称Delay 300KeyPress "Right", 2//定位到计划数据KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 500KeyDown 17, 1KeyPress 70, 1KeyUp 17, 1 //ctrl+f 定位到查找Delay 500KeyDown 18, 1KeyPress 70, 1KeyUp 18, 1 //alt+f 定位到下一个日期的巷道Delay 1000KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到chromeDelay 300MoveTo 665, 82Delay 100LeftClick 1//进行查找Delay 100Delay 300FindColor 208, 311, 1179, 704, "3296FF", intX, intYDelay 300MoveTo intX, intYDelay 300MoveTo intX + 340, intY + 8Delay 500LeftClick 1//定位到输入框Delay 100KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 300MoveTo 18, 263LeftClick 1//提交Delay 500MoveTo 764, 296LeftClick 1 //点击下一日Delay 500Delay 300KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到excelDelay 300
通用初始化瓦斯数据
//煤矿初始化瓦斯夜班数据1//打开chrome浏览器,打开煤矿平台瓦斯夜班报表界面Dim c1,c,d1, d2,d3 ,d4, d5,d6,d7, d8,d9,d10,d11, d12,d13 ,d14, d15,d16,d17, d18,d19,d20,d21, d22,d23 ,d24, d25,d26,d27,d28,d29,d30d1 = "2018年04月01日"d2 = "2018年04月02日"d3 = "2018年04月03日"d4 = "2018年04月04日"d5 = "2018年04月05日"d6 = "2018年04月06日"d7 = "2018年04月07日"d8 = "2018年04月08日"d9 = "2018年04月09日"d10 = "2018年04月10日"d11 = "2018年04月11日"d12 = "2018年04月12日"d13 = "2018年04月13日"d14 = "2018年04月14日"d15 = "2018年04月15日"d16 = "2018年04月16日"d17 = "2018年04月17日"d18 = "2018年04月18日"d19 = "2018年04月19日"d20 = "2018年04月20日"d21 = "2018年04月21日"d22 = "2018年04月22日"d23 = "2018年04月23日"d24 = "2018年04月24日"d25 = "2018年04月25日"d26 = "2018年04月26日"d27 = "2018年04月27日"d28 = "2018年04月28日"d29 = "2018年04月29日"d30 = "2018年04月30日"c1 = 41 //需要录入的行数 50Sub 子程序1()Delay 800MoveTo 114, 273 //点击瓦斯中班Delay 200LeftClick 1Delay 4000 //打开页面时间长MoveTo 861, 308 //鼠标移动到日历图标Delay 300LeftClick 1//点击日历,打开日期选择界面Delay 300LeftClick 1//点击日历,打开日期选择界面Delay 300KeyDown 17, 1KeyPress 65, 1KeyUp 17, 1//全选Delay 300KeyPress "Delete", 1//清空End SubSub 子程序2()Delay 800KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 250MoveTo 912, 312 //定位到查询Delay 300LeftClick 1//点击查询Delay 2000c=1Delay 100MoveTo 457, 258 //定位到增加记录Delay 100Do Until c > c1+3Delay 100LeftClick 1 //点击添加行Delay 700c = c + 1Delay 100LoopDelay 2000MoveTo 234, 256Delay 200LeftClick 1 //点击提交Delay 1500Delay 1500MoveTo 386, 222Delay 200LeftClick 1 //点击 关闭Delay 1500End SubDelay 500LockMouse //锁定鼠标位置//Call 子程序1()//Call Plugin.Sys.SetCLB(d1) //将数据写入剪切板//Call 子程序2()//Call 子程序1()//Call Plugin.Sys.SetCLB(d2) //将数据写入剪切板//Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d3)//将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d4) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d5) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d6) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d7) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d8) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d9) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d10) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d11) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d12) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d13)//将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d14) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d15) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d16) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d17) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d18) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d19) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d20) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d21) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d22) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d23)//将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d24) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d25) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d26) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d27) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d28) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d29) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d30) //将数据写入剪切板Call 子程序2()
gc瓦斯自动录入4月份V1
//先打开xls表和chrome浏览器,都最大化//chrome打开平台,登录,打开瓦斯日报表-选择一个班次,如夜班、早班、中班//修改值班日期为需要录入的xls表的日期,如你要录入2018年06月11日的gc煤矿瓦斯检查班报表(夜班),就定位到当天,手动点击增加记录,创建大于40行的空行,进行提交保存。//chrome的鼠标初始位置在表格左上角,先录入一个数据,保证是直接可录入的状态,再只选中该单元格,不要成为编辑状态。//删除xls表最下面值班人的所有行,而且气体含量的CH4(%)第二列和CO2第二列检查时间的第二列需要录入的部分第一行不能为空,可手动输入任意字符进行填充,搬运完成以后再删除//xls定位到a6的位置,也就是检查地点下面的那个单元格//alt+tab切换一下,保证可以在xls表和chrome浏览器之间来回切换//初始在xls表,启动脚本的快捷键是ctrl+f10,有的计算机是ctrl+fn+f10,就可以进行批量复制了,复制完以后在chrome上进行提交保存,再删除最下面的空行。//若出错,狂按ctrl+f12或ctrl+fn+f12,若不行试试f12,fn+f12Dim a,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,aa,bb,c1//但只是复制为字符串,未赋值为变量的数值//a1检测地点//a2 人数//a3 温度1//a4 温度2//a5 CH4-1//a6 CH4-2//a7 CO2-1//a8 CO2-2//a9 检查时间1//a10 检查时间2//a11 检查人//aa 读取的列数//bb 写的列数//c1 下拉多少行a=""c1 = 41c1 = c1 - 1Delay 800LockMouse //锁定鼠标位置Call Plugin.Sys.SetCLB(a) //清空剪切板Delay 800aa = 1//默认先读第一列Do Until aa>11Delay 250KeyDown 16, 1KeyPress "Down", c1KeyUp 16, 1 //全部选择该列Delay 250KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 123If aa=1 thena1 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=2 thena2 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=3 thena3 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=4 thena4 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=5 thena5 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=6 thena6 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=7 thena7 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=8 thena8 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=9 thena9 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa= 10 thena10 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa= 11 thena11 = Plugin.Sys.GetCLB()//获取剪切板的数据ElseEnd ifDelay 123KeyPress "Right", 1 //移动到下一个Delay 123aa = aa + 1LoopDelay 250KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到chromeDelay 123bb = 1//默认先写第一列Do Until bb > 13Delay 250If bb=1 thenCall Plugin.Sys.SetCLB(a1) //将数据写入剪切板 检查地点Elseif bb=2 thenCall Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数Elseif bb=3 thenCall Plugin.Sys.SetCLB(a9) //将数据写入剪切板 时间1Elseif bb=4 thenCall Plugin.Sys.SetCLB(a5) //将数据写入剪切板 CH4-1Elseif bb=5 thenCall Plugin.Sys.SetCLB(a7) //将数据写入剪切板 CO2-1Elseif bb=6 thenCall Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度-1Elseif bb=7 thenCall Plugin.Sys.SetCLB(a11) //将数据写入剪切板 检查人Elseif bb=8 thenCall Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数Elseif bb=9 thenCall Plugin.Sys.SetCLB(a10) //将数据写入剪切板 时间2Elseif bb=10 thenCall Plugin.Sys.SetCLB(a6)//将数据写入剪切板 CH4-2Elseif bb= 11 thenCall Plugin.Sys.SetCLB(a8) //将数据写入剪切板 CO2-2Elseif bb= 12 thenCall Plugin.Sys.SetCLB(a4) //将数据写入剪切板 温度-2Elseif bb= 13 thenCall Plugin.Sys.SetCLB(a11) //将数据写入剪切板 检查人ElseEnd ifDelay 250KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴整列Delay 250KeyPress "Up", c1//定位到下一列的第一行Delay 123KeyPress "Right", 1 //移动到下一个Delay 123bb = bb + 1TracePrint bbLoop
gc瓦斯自动录入4月神器版V2
//初始化在chrome界面,左侧打开清单,瓦斯日报表,瓦斯日报表顶头//total commander资源管理器处于打开状态,并移动到需要录入的xls表Dim a,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,aa, bb, c1, c, d1, d2,d3 ,d4, d5,d6,d7, d8,d9,d10,d11, d12,d13 ,d14, d15,d16,d17, d18,d19,d20,d21, d22,d23 ,d24, d25,d26,d27,d28,d29,d30//但只是复制为字符串,未赋值为变量的数值//a1检测地点//a2 人数//a3 温度1//a4 温度2//a5 CH4-1//a6 CH4-2//a7 CO2-1//a8 CO2-2//a9 检查时间1//a10 检查时间2//a11 检查人//aa 读取的列数//bb 写的列数//c1 下拉多少行d1 = "2018年04月01日"d2 = "2018年04月02日"d3 = "2018年04月03日"d4 = "2018年04月04日"d5 = "2018年04月05日"d6 = "2018年04月06日"d7 = "2018年04月07日"d8 = "2018年04月08日"d9 = "2018年04月09日"d10 = "2018年04月10日"d11 = "2018年04月11日"d12 = "2018年04月12日"d13 = "2018年04月13日"d14 = "2018年04月14日"d15 = "2018年04月15日"d16 = "2018年04月16日"d17 = "2018年04月17日"d18 = "2018年04月18日"d19 = "2018年04月19日"d20 = "2018年04月20日"d21 = "2018年04月21日"d22 = "2018年04月22日"d23 = "2018年04月23日"d24 = "2018年04月24日"d25 = "2018年04月25日"d26 = "2018年04月26日"d27 = "2018年04月27日"d28 = "2018年04月28日"d29 = "2018年04月29日"d30 = "2018年04月30日"a=""c1 = 41c1 = c1 - 1Sub 子程序1()Delay 800MoveTo 119, 274 //点击瓦斯早班Delay 200LeftClick 1Delay 4000 //打开页面时间长MoveTo 861, 308 //鼠标移动到日历图标Delay 300LeftClick 1//点击日历,打开日期选择界面Delay 300LeftClick 1//点击日历,打开日期选择界面Delay 300KeyDown 17, 1KeyPress 65, 1KeyUp 17, 1//全选Delay 300KeyPress "Delete", 1//清空End SubSub 子程序2()Delay 800KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 250MoveTo 912, 312 //定位到查询Delay 300LeftClick 1//点击查询Delay 2000//KeyPress "Right", 1 //移动激活单元格到第二列//Delay 2000KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到tcDelay 2000KeyPress "Enter", 1//打开xls表Delay 2000Delay 250aa = 1//默认先读第一列Do Until aa>11Delay 250KeyDown 16, 1KeyPress "Down", c1KeyUp 16, 1 //全部选择该列Delay 250KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 123If aa=1 thena1 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=2 thena2 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=3 thena3 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=4 thena4 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=5 thena5 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=6 thena6 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=7 thena7 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=8 thena8 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=9 thena9 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa= 10 thena10 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa= 11 thena11 = Plugin.Sys.GetCLB()//获取剪切板的数据ElseEnd ifDelay 123KeyPress "Right", 1 //移动到下一个Delay 123aa = aa + 1LoopDelay 2000KeyDown 18, 1KeyPress 115, 1KeyUp 18, 1//alt+f4关闭xls表Delay 2000KeyPress "Down", 1 //tc界面向下选择Delay 200KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到chromeDelay 500bb = 1//默认先写第一列Do Until bb > 13Delay 250If bb=1 thenCall Plugin.Sys.SetCLB(a1) //将数据写入剪切板 检查地点Elseif bb=2 thenCall Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数Elseif bb=3 thenCall Plugin.Sys.SetCLB(a9) //将数据写入剪切板 时间1Elseif bb=4 thenCall Plugin.Sys.SetCLB(a5) //将数据写入剪切板 CH4-1Elseif bb=5 thenCall Plugin.Sys.SetCLB(a7) //将数据写入剪切板 CO2-1Elseif bb=6 thenCall Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度-1Elseif bb=7 thenCall Plugin.Sys.SetCLB(a11) //将数据写入剪切板 检查人Elseif bb=8 thenCall Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数Elseif bb=9 thenCall Plugin.Sys.SetCLB(a10) //将数据写入剪切板 时间2Elseif bb=10 thenCall Plugin.Sys.SetCLB(a6)//将数据写入剪切板 CH4-2Elseif bb= 11 thenCall Plugin.Sys.SetCLB(a8) //将数据写入剪切板 CO2-2Elseif bb= 12 thenCall Plugin.Sys.SetCLB(a4) //将数据写入剪切板 温度-2Elseif bb= 13 thenCall Plugin.Sys.SetCLB(a11) //将数据写入剪切板 检查人ElseEnd ifDelay 250KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴整列Delay 250KeyPress "Up", c1//定位到下一列的第一行Delay 123KeyPress "Right", 1 //移动到下一个Delay 123bb = bb + 1TracePrint bbLoopDelay 2000MoveTo 234, 256Delay 200LeftClick 1 //点击提交Delay 1500Delay 500MoveTo 386, 222Delay 200LeftClick 1 //点击 关闭Delay 1500End SubDelay 800LockMouse //锁定鼠标位置Call Plugin.Sys.SetCLB(a) //清空剪切板Delay 800Call 子程序1()Call Plugin.Sys.SetCLB(d1) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d2) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d3)//将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d4) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d5) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d6) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d7) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d8) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d9) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d10) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d11) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d12) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d13)//将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d14) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d15) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d16) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d17) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d18) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d19) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d20) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d21) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d22) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d23)//将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d24) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d25) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d26) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d27) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d28) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d29) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d30) //将数据写入剪切板Call 子程序2()
wl瓦斯自动录入5月6月V2
//先打开xls表和chrome浏览器,都最大化//chrome打开wl平台,登录,打开瓦斯日报表-选择一个班次,如夜班、早班、中班//修改值班日期为需要录入的xls表的日期,如你要录入2018年06月11日的wl煤矿瓦斯检查班报表(夜班),就定位到当天,手动点击增加记录,创建大于该xle表待录入数据总行的空行,进行提交保存。//chrome的鼠标初始位置在表格左上角的人数下面的单元格,先录入一个数据,保证是直接可录入的状态,再只选中该单元格,不要成为编辑状态。//删除xls表最下面备注及以下的的所有行,而且气体含量的CH4(%)第二列和CO2第二列检查时间的第二列需要录入的部分第一行不能为空,可手动输入任意字符进行填充,搬运完成以后再删除//xls定位到第一个人数下面的单元格的位置,也就是检查地点下面的那个单元格 (若为早班或中班,则定位到该班的左上角人数下面的单元格)//alt+tab切换一下,保证可以在xls表和chrome浏览器之间来回切换//初始在xls表,启动脚本的快捷键是ctrl+f10,有的计算机是ctrl+fn+f10,就可以进行批量复制了,复制完以后在chrome上进行提交保存,再删除最下面的空行。//若出错,狂按ctrl+f12或ctrl+fn+f12,若不行试试f12,fn+f12Dim a,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,aa,bb,c1//但只是复制为字符串,未赋值为变量的数值//a1检测地点//a2 人数//a3 温度//a4 CH4-1//a5 CH4-2//a6 CO2-1//a7 CO2-2//a8 检查时间1//a9 检查时间2//a10 检查人//aa 读取的列数//bb 写的列数//c1 下拉多少行a=""c1 = 48c1 = c1 - 1Delay 800LockMouse //锁定鼠标位置Call Plugin.Sys.SetCLB(a) //清空剪切板Delay 800aa = 2//默认先读第二列 人数Do Until aa>10Delay 250KeyDown 16, 1KeyPress "Down", c1KeyUp 16, 1 //全部选择该列Delay 250KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 123If aa=1 thena1 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=2 thena2 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=3 thena3 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=4 thena4 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=5 thena5 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=6 thena6 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=7 thena7 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=8 thena8 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=9 thena9 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa= 10 thena10 = Plugin.Sys.GetCLB()//获取剪切板的数据ElseEnd ifDelay 123KeyPress "Right", 1 //移动到下一个Delay 123aa = aa + 1LoopDelay 250KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到chromeDelay 123bb = 2//默认先写第二列 人数Do Until bb > 13Delay 250If bb=1 thenCall Plugin.Sys.SetCLB(a1) //将数据写入剪切板 检查地点Elseif bb=2 thenCall Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数Elseif bb=3 thenCall Plugin.Sys.SetCLB(a8) //将数据写入剪切板 时间1Elseif bb=4 thenCall Plugin.Sys.SetCLB(a4) //将数据写入剪切板 CH4-1Elseif bb=5 thenCall Plugin.Sys.SetCLB(a6) //将数据写入剪切板 CO2-1Elseif bb=6 thenCall Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度Elseif bb=7 thenCall Plugin.Sys.SetCLB(a10) //将数据写入剪切板 检查人Elseif bb=8 thenCall Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数Elseif bb=9 thenCall Plugin.Sys.SetCLB(a9) //将数据写入剪切板 时间2Elseif bb=10 thenCall Plugin.Sys.SetCLB(a5)//将数据写入剪切板 CH4-2Elseif bb= 11 thenCall Plugin.Sys.SetCLB(a7) //将数据写入剪切板 CO2-2Elseif bb= 12 thenCall Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度Elseif bb= 13 thenCall Plugin.Sys.SetCLB(a10) //将数据写入剪切板 检查人ElseEnd ifDelay 250KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴整列Delay 250KeyPress "Up", c1//定位到下一列的第一行Delay 123KeyPress "Right", 1 //移动到下一个Delay 123bb = bb + 1TracePrint bbLoop
示例9
wl瓦斯自动录入5月6月神器版V2
//初始化在chrome界面,左侧打开清单,定位到瓦斯日报表,瓦斯日报表顶头//tc处于打开状态,并移动到需要录入的xls表Dim a, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, aa, bb, c1, c, d1, d2,d3 ,d4, d5,d6,d7, d8,d9,d10//但只是复制为字符串,未赋值为变量的数值//a1检测地点//a2 人数//a3 温度//a4 CH4-1//a5 CH4-2//a6 CO2-1//a7 CO2-2//a8 检查时间1//a9 检查时间2//a10 检查人//aa 读取的列数//bb 写的列数//c1 下拉多少行d1 = "2018年05月18日"d2 = "2018年05月19日"d3 = "2018年05月20日"d4 = "2018年05月24日"d5 = "2018年05月25日"d6 = "2018年05月26日"d7 = "2018年05月27日"d8 = "2018年05月28日"d9 = "2018年05月30日"d10 = "2018年05月31日"a=""c1 = 50c1 = c1 - 1Sub 子程序1()Delay 800MoveTo 119, 272 //点击瓦斯中班Delay 200LeftClick 1Delay 4000 //打开页面时间长MoveTo 861, 308 //鼠标移动到日历图标Delay 300LeftClick 1//点击日历,打开日期选择界面Delay 300LeftClick 1//点击日历,打开日期选择界面Delay 300KeyDown 17, 1KeyPress 65, 1KeyUp 17, 1//全选Delay 300KeyPress "Delete", 1//清空End SubSub 子程序2()Delay 800KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴Delay 250MoveTo 912, 312 //定位到查询Delay 300LeftClick 1//点击查询Delay 2000KeyPress "Right", 1 //移动激活单元格到第二列Delay 2000KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到tcDelay 2000KeyPress "Enter", 1//打开xls表Delay 2000Delay 250aa = 2//默认先读第二列 人数Do Until aa>10Delay 250KeyDown 16, 1KeyPress "Down", c1KeyUp 16, 1 //全部选择该列Delay 250KeyDown 17, 1KeyPress 67, 1KeyUp 17, 1//复制Delay 123If aa=1 thena1 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=2 thena2 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=3 thena3 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=4 thena4 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=5 thena5 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=6 thena6 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=7 thena7 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=8 thena8 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa=9 thena9 = Plugin.Sys.GetCLB()//获取剪切板的数据Elseif aa= 10 thena10 = Plugin.Sys.GetCLB()//获取剪切板的数据ElseEnd ifDelay 123KeyPress "Right", 1 //移动到下一个Delay 123aa = aa + 1LoopDelay 2000KeyDown 18, 1KeyPress 115, 1KeyUp 18, 1//alt+f4关闭xls表Delay 2000KeyPress "Down", 1 //tc界面向下选择Delay 200KeyDown 18, 1KeyPress 9, 1KeyUp 18, 1//alt+tab切换到chromeDelay 500bb = 2//默认先写第二列 人数Do Until bb > 13Delay 250If bb=1 thenCall Plugin.Sys.SetCLB(a1) //将数据写入剪切板 检查地点Elseif bb=2 thenCall Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数Elseif bb=3 thenCall Plugin.Sys.SetCLB(a8) //将数据写入剪切板 时间1Elseif bb=4 thenCall Plugin.Sys.SetCLB(a4) //将数据写入剪切板 CH4-1Elseif bb=5 thenCall Plugin.Sys.SetCLB(a6) //将数据写入剪切板 CO2-1Elseif bb=6 thenCall Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度Elseif bb=7 thenCall Plugin.Sys.SetCLB(a10) //将数据写入剪切板 检查人Elseif bb=8 thenCall Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数Elseif bb=9 thenCall Plugin.Sys.SetCLB(a9) //将数据写入剪切板 时间2Elseif bb=10 thenCall Plugin.Sys.SetCLB(a5)//将数据写入剪切板 CH4-2Elseif bb= 11 thenCall Plugin.Sys.SetCLB(a7) //将数据写入剪切板 CO2-2Elseif bb= 12 thenCall Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度Elseif bb= 13 thenCall Plugin.Sys.SetCLB(a10) //将数据写入剪切板 检查人ElseEnd ifDelay 250KeyDown 17, 1KeyPress 86, 1KeyUp 17, 1//粘贴整列Delay 250KeyPress "Up", c1//定位到下一列的第一行Delay 123KeyPress "Right", 1 //移动到下一个Delay 123bb = bb + 1TracePrint bbLoopDelay 2000MoveTo 234, 256Delay 200LeftClick 1 //点击提交Delay 1500Delay 500MoveTo 386, 222Delay 200LeftClick 1 //点击 关闭Delay 1500End SubDelay 800LockMouse //锁定鼠标位置Call Plugin.Sys.SetCLB(a) //清空剪切板Delay 800Call 子程序1()Call Plugin.Sys.SetCLB(d1) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d2) //将数据写入剪切板Call 子程序2()Call 子程序1()Call Plugin.Sys.SetCLB(d3)//将数据写入剪切板Call 子程序2()//Call 子程序1()//Call Plugin.Sys.SetCLB(d4) //将数据写入剪切板//Call 子程序2()//Call 子程序1()//Call Plugin.Sys.SetCLB(d5) //将数据写入剪切板//Call 子程序2()//Call 子程序1()//Call Plugin.Sys.SetCLB(d6) //将数据写入剪切板//Call 子程序2()//Call 子程序1()//Call Plugin.Sys.SetCLB(d7) //将数据写入剪切板//Call 子程序2()//Call 子程序1()//Call Plugin.Sys.SetCLB(d8) //将数据写入剪切板//Call 子程序2()//Call 子程序1()//Call Plugin.Sys.SetCLB(d9) //将数据写入剪切板//Call 子程序2()//Call 子程序1()//Call Plugin.Sys.SetCLB(d10) //将数据写入剪切板//Call 子程序2()
标注好迁移注意事项,主要是初始位置的设置和点坐标的查询,不保证都能执行成功。
版本号要有规律,脚本命名要规范,注释要尽量写清楚,变量命名要统一。