[关闭]
@hzl201 2018-07-04T09:07:51.000000Z 字数 21867 阅读 9387

按键精灵读取excel的数据并写入网页的方法

按键精灵 自动


目标

明确目标,在最短的时间内录入尽可能多的有效数据。人工容易出错,执行效率也不高,重复性的工作都交给机器进行处理,先写出手动步骤,再用脚本实现半自动化,最后实现全自动化。人工只进行数据有效性的检查。在实际运用过程中不可能只使用一个脚本实现全部功能,可以分拆成多个脚本灵活调整。

实现原理

用脚本语言对人工录入数据的步骤进行重现,并一直执行下去。

脚本编写流程

分析录入过程-分解为循环体-手动执行循环体-使用工具编写循环体脚本-调试脚本-适配和发布

分析

先检查是否可分解为循环体:
有规律、可重复、可定位才能循环执行

分解

循环体执行流程,最小单元化每个步骤。
按流程大致分为三个部分:
1.格式化源数据:先进行excel表的预处理,减少每个表结构不同造成的兼容性问题
2.获取源数据:定位到初始位置,按行或列进行读取,并存储到缓存中
3.填充数据:切换到目标页面,定位到初始位置,进行填充

人工检查录入数据的有效性,决定是否重新执行脚本

手动执行循环体

按照步骤执行,找到最不容易出错的步骤,记录下关键点,执行完以后要求能定位到下一个源数据和下一个目标页面

使用工具编写自动化脚本

按照手动步骤进行重建,不要进行录制,那是无效的,每一步都写好注释
原则
1.尽量都用快捷键进行操作
2.能找点别找图
3.合理设置延迟时间
4.尽量避免死循环

选择语言 我这里使用按键精灵进行脚本的编写,其它的语言大同小异。

调试脚本

反复修改参数,先实现功能,再谈优化效率和冗余检查,并进行迁移适配。
重复的代码可以封装为子程序模块,再进行调用,若每次执行时只有少数代码不同,可加循环并判断。

示例

示例1

录入精煤库存

  1. //先打开xls和chrome,xls搜索累计,chrome搜索备注
  2. Dim a,a1,a2,a3,a4,a5,a6,aa
  3. //但只是复制为字符串,未赋值为变量的数值
  4. a=""
  5. a1 = 0
  6. a2 = 0
  7. a3 = 0
  8. a4 = 0
  9. a5 = 0
  10. a6 = 0
  11. aa = 0
  12. Call Plugin.Sys.SetCLB(a) //清空剪切板
  13. Delay 500
  14. MoveTo 939, 473
  15. LeftClick 1 //鼠标点击煤场库存
  16. Delay 200
  17. KeyDown 17, 1
  18. KeyPress 70, 1
  19. KeyUp 17, 1//ctrl+f
  20. Delay 200
  21. KeyDown 18, 1
  22. KeyPress 70, 1
  23. KeyUp 18, 1 //alt+f 定位到累计
  24. Delay 200
  25. MoveTo 78, 663//点击左下角的累计
  26. LeftClick 1
  27. Delay 200
  28. KeyPress "Right", 3 //找到混煤数据
  29. Delay 200
  30. KeyDown 17, 1
  31. KeyPress 67, 1
  32. KeyUp 17, 1//复制
  33. Delay 200
  34. a2 = Plugin.Sys.GetCLB()//获取剪切板的数据
  35. Delay 50
  36. Delay 100
  37. KeyDown 17, 1
  38. KeyPress 70, 1
  39. KeyUp 17, 1//ctrl+f
  40. Delay 100
  41. KeyDown 18, 1
  42. KeyPress 70, 1
  43. KeyUp 18, 1 //alt+f 定位到累计
  44. Delay 100
  45. MoveTo 78, 663//点击左下角的累计
  46. LeftClick 1
  47. Delay 100
  48. KeyPress "Right", 3 //找到精煤数据
  49. Delay 100
  50. KeyDown 17, 1
  51. KeyPress 67, 1
  52. KeyUp 17, 1//复制
  53. Delay 100
  54. a1 = Plugin.Sys.GetCLB()//获取剪切板的数据
  55. Delay 50
  56. Delay 100
  57. KeyDown 17, 1
  58. KeyPress 70, 1
  59. KeyUp 17, 1//ctrl+f
  60. Delay 100
  61. KeyDown 18, 1
  62. KeyPress 70, 1
  63. KeyUp 18, 1 //alt+f 定位到累计
  64. Delay 100
  65. MoveTo 78, 663//点击左下角的累计
  66. LeftClick 1
  67. Delay 100
  68. KeyPress "Right", 3 //找到洗混煤数据
  69. Delay 100
  70. KeyDown 17, 1
  71. KeyPress 67, 1
  72. KeyUp 17, 1//复制
  73. Delay 100
  74. a3 = Plugin.Sys.GetCLB()//获取剪切板的数据
  75. Delay 50
  76. Delay 100
  77. KeyDown 17, 1
  78. KeyPress 70, 1
  79. KeyUp 17, 1//ctrl+f
  80. Delay 100
  81. KeyDown 18, 1
  82. KeyPress 70, 1
  83. KeyUp 18, 1 //alt+f 定位到累计
  84. Delay 100
  85. MoveTo 78, 663//点击左下角的累计
  86. LeftClick 1
  87. Delay 100
  88. KeyPress "Right", 3 //找到煤泥数据
  89. Delay 100
  90. KeyDown 17, 1
  91. KeyPress 67, 1
  92. KeyUp 17, 1//复制
  93. Delay 100
  94. a4 = Plugin.Sys.GetCLB()//获取剪切板的数据
  95. Delay 50
  96. Delay 100
  97. KeyDown 17, 1
  98. KeyPress 70, 1
  99. KeyUp 17, 1//ctrl+f
  100. Delay 100
  101. KeyDown 18, 1
  102. KeyPress 70, 1
  103. KeyUp 18, 1 //alt+f 定位到累计
  104. Delay 100
  105. MoveTo 78, 663//点击左下角的累计
  106. LeftClick 1
  107. Delay 100
  108. KeyPress "Right", 3 //找到混块煤数据
  109. Delay 100
  110. KeyDown 17, 1
  111. KeyPress 67, 1
  112. KeyUp 17, 1//复制
  113. Delay 100
  114. a5 = Plugin.Sys.GetCLB()//获取剪切板的数据
  115. Delay 50
  116. Delay 100
  117. KeyDown 17, 1
  118. KeyPress 70, 1
  119. KeyUp 17, 1//ctrl+f
  120. Delay 100
  121. KeyDown 18, 1
  122. KeyPress 70, 1
  123. KeyUp 18, 1 //alt+f 定位到累计
  124. Delay 100
  125. MoveTo 78, 663//点击左下角的累计
  126. LeftClick 1
  127. Delay 100
  128. KeyPress "Right", 3 //找到矸石数据
  129. Delay 50
  130. KeyDown 17, 1
  131. KeyPress 67, 1
  132. KeyUp 17, 1//复制
  133. Delay 100
  134. a6 = Plugin.Sys.GetCLB()//获取剪切板的数据
  135. Delay 50
  136. Delay 100
  137. KeyDown 18, 1
  138. KeyPress 9, 1
  139. KeyUp 18, 1//alt+tab切换到chrome
  140. Delay 300
  141. MoveTo 526, 675
  142. Delay 100
  143. LeftClick 1//点击备注后面的方框
  144. Delay 100
  145. KeyPress "Tab", 1 //定位到精煤日销量
  146. Delay 300
  147. Call Plugin.Sys.SetCLB(a1) //将数据写入剪切板
  148. Delay 300
  149. KeyDown 17, 1
  150. KeyPress 86, 1
  151. KeyUp 17, 1//粘贴
  152. Delay 300
  153. KeyPress "Enter", 1 //下一个
  154. Delay 300
  155. Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板
  156. Delay 300
  157. KeyDown 17, 1
  158. KeyPress 86, 1
  159. KeyUp 17, 1//粘贴
  160. Delay 300
  161. KeyPress "Enter", 1 //下一个
  162. Delay 300
  163. Call Plugin.Sys.SetCLB(a3) //将数据写入剪切板
  164. Delay 300
  165. KeyDown 17, 1
  166. KeyPress 86, 1
  167. KeyUp 17, 1//粘贴
  168. Delay 300
  169. KeyPress "Enter", 1 //下一个
  170. Delay 300
  171. Call Plugin.Sys.SetCLB(a4) //将数据写入剪切板
  172. Delay 300
  173. KeyDown 17, 1
  174. KeyPress 86, 1
  175. KeyUp 17, 1//粘贴
  176. Delay 300
  177. KeyPress "Enter", 1 //下一个
  178. Delay 300
  179. Call Plugin.Sys.SetCLB(a5) //将数据写入剪切板
  180. Delay 300
  181. KeyDown 17, 1
  182. KeyPress 86, 1
  183. KeyUp 17, 1//粘贴
  184. Delay 300
  185. KeyPress "Enter", 1 //下一个
  186. Delay 300
  187. Call Plugin.Sys.SetCLB(a6) //将数据写入剪切板
  188. Delay 300
  189. KeyDown 17, 1
  190. KeyPress 86, 1
  191. KeyUp 17, 1//粘贴
  192. Delay 1000
  193. MoveTo 18, 263
  194. Delay 500
  195. LeftClick 1//提交
  196. Delay 500
  197. MoveTo 511, 290
  198. LeftClick 1 //点击上一日
  199. Delay 500
  200. Delay 150
  201. KeyDown 18, 1
  202. KeyPress 9, 1
  203. KeyUp 18, 1//alt+tab切换到excel
  204. Delay 150
  205. MoveTo 29, 693 //点击左下角的向左箭头
  206. LeftClick 1
  207. Delay 300
  208. MoveTo 793, 693 //切换到上一日的excel表
  209. LeftClick 1
  210. Delay 150

示例2

煤质化验录入时间

  1. Dim a
  2. a = 0
  3. Delay 500
  4. KeyDown 17, 1
  5. KeyPress 67, 1
  6. KeyUp 17, 1 //复制日期
  7. Delay 100
  8. KeyPress "Down", 1
  9. KeyDown 18, 1
  10. KeyPress 9, 1
  11. KeyUp 18, 1//alt+tab切换到chrome
  12. Delay 250
  13. Do Until a > 5
  14. Delay 150
  15. KeyDown 17, 1
  16. KeyPress 86, 1
  17. KeyUp 17, 1 //粘贴
  18. Delay 50
  19. KeyPress "Down", 1
  20. a = a + 1
  21. Loop
  22. Delay 250
  23. MoveTo 14, 257
  24. Delay 100
  25. LeftClick 1 //点击提交
  26. Delay 250
  27. MoveTo 762, 293
  28. Delay 100
  29. LeftClick 1 //点击下一日
  30. Delay 250
  31. KeyDown 18, 1
  32. KeyPress 9, 1
  33. KeyUp 18, 1//alt+tab切换回excel

示例3

录入洗混煤

  1. //先打开xls和chrome
  2. Delay 500
  3. MoveTo 939, 473
  4. LeftClick 1 //鼠标点击煤场库存
  5. Delay 500
  6. KeyPress "Down", 3
  7. Delay 500
  8. KeyPress "Right", 1 //定位到洗混煤
  9. Delay 100
  10. KeyDown 17, 1
  11. KeyPress 67, 1
  12. KeyUp 17, 1//复制
  13. Delay 100
  14. KeyPress "Down", 1
  15. Delay 100
  16. KeyDown 18, 1
  17. KeyPress 9, 1
  18. KeyUp 18, 1//alt+tab切换到chrome
  19. Delay 300
  20. MoveTo 665, 82
  21. Delay 100
  22. LeftClick 1//进行查找洗混煤
  23. Delay 300
  24. FindColor 208, 311, 1179, 704, "3296FF", intX, intY
  25. Delay 300
  26. MoveTo intX, intY
  27. Delay 300
  28. MoveTo intX + 338, intY
  29. Delay 100
  30. LeftClick 1//定位到洗混煤库存
  31. Delay 100
  32. KeyDown 17, 1
  33. KeyPress 86, 1
  34. KeyUp 17, 1//粘贴
  35. Delay 100
  36. KeyPress "Enter", 1//定位到湿煤泥
  37. Delay 100
  38. KeyDown 18, 1
  39. KeyPress 9, 1
  40. KeyUp 18, 1//alt+tab切换到excel
  41. Delay 300
  42. KeyDown 17, 1
  43. KeyPress 67, 1
  44. KeyUp 17, 1//复制湿煤泥数据
  45. Delay 100
  46. Delay 100
  47. KeyDown 18, 1
  48. KeyPress 9, 1
  49. KeyUp 18, 1//alt+tab切换到chrome
  50. Delay 100
  51. Delay 100
  52. KeyDown 17, 1
  53. KeyPress 86, 1
  54. KeyUp 17, 1//粘贴湿煤泥库存
  55. Delay 100
  56. Delay 1000
  57. MoveTo 18, 263
  58. Delay 500
  59. LeftClick 1//提交
  60. Delay 500
  61. MoveTo 511, 290
  62. LeftClick 1 //点击上一日
  63. Delay 500
  64. Delay 300
  65. KeyDown 18, 1
  66. KeyPress 9, 1
  67. KeyUp 18, 1//alt+tab切换到excel
  68. Delay 300
  69. MoveTo 29, 693 //点击左下角的向左箭头
  70. LeftClick 1
  71. Delay 300
  72. MoveTo 793, 693 //切换到上一日的excel表
  73. LeftClick 1
  74. Delay 300

示例4

综合日报填报

  1. //先打开xls和chrome的gc煤矿综合调度填报,在选择好查找选项
  2. Delay 500
  3. MoveTo 86,656
  4. Delay 500
  5. LeftClick 1 //定位到这个日期的需要录入的巷道名称
  6. Delay 300
  7. KeyPress "Right", 2//定位到计划数据
  8. KeyDown 17, 1
  9. KeyPress 67, 1
  10. KeyUp 17, 1//复制
  11. Delay 500
  12. KeyDown 17, 1
  13. KeyPress 70, 1
  14. KeyUp 17, 1 //ctrl+f 定位到查找
  15. Delay 500
  16. KeyDown 18, 1
  17. KeyPress 70, 1
  18. KeyUp 18, 1 //alt+f 定位到下一个日期的巷道
  19. Delay 1000
  20. KeyDown 18, 1
  21. KeyPress 9, 1
  22. KeyUp 18, 1//alt+tab切换到chrome
  23. Delay 300
  24. MoveTo 665, 82
  25. Delay 100
  26. LeftClick 1//进行查找
  27. Delay 100
  28. Delay 300
  29. FindColor 208, 311, 1179, 704, "3296FF", intX, intY
  30. Delay 300
  31. MoveTo intX, intY
  32. Delay 300
  33. MoveTo intX + 340, intY + 8
  34. Delay 500
  35. LeftClick 1//定位到输入框
  36. Delay 100
  37. KeyDown 17, 1
  38. KeyPress 86, 1
  39. KeyUp 17, 1//粘贴
  40. Delay 300
  41. MoveTo 18, 263
  42. LeftClick 1//提交
  43. Delay 500
  44. MoveTo 764, 296
  45. LeftClick 1 //点击下一日
  46. Delay 500
  47. Delay 300
  48. KeyDown 18, 1
  49. KeyPress 9, 1
  50. KeyUp 18, 1//alt+tab切换到excel
  51. Delay 300

示例5

通用初始化瓦斯数据

  1. //煤矿初始化瓦斯夜班数据1
  2. //打开chrome浏览器,打开煤矿平台瓦斯夜班报表界面
  3. 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,d30
  4. d1 = "2018年04月01日"
  5. d2 = "2018年04月02日"
  6. d3 = "2018年04月03日"
  7. d4 = "2018年04月04日"
  8. d5 = "2018年04月05日"
  9. d6 = "2018年04月06日"
  10. d7 = "2018年04月07日"
  11. d8 = "2018年04月08日"
  12. d9 = "2018年04月09日"
  13. d10 = "2018年04月10日"
  14. d11 = "2018年04月11日"
  15. d12 = "2018年04月12日"
  16. d13 = "2018年04月13日"
  17. d14 = "2018年04月14日"
  18. d15 = "2018年04月15日"
  19. d16 = "2018年04月16日"
  20. d17 = "2018年04月17日"
  21. d18 = "2018年04月18日"
  22. d19 = "2018年04月19日"
  23. d20 = "2018年04月20日"
  24. d21 = "2018年04月21日"
  25. d22 = "2018年04月22日"
  26. d23 = "2018年04月23日"
  27. d24 = "2018年04月24日"
  28. d25 = "2018年04月25日"
  29. d26 = "2018年04月26日"
  30. d27 = "2018年04月27日"
  31. d28 = "2018年04月28日"
  32. d29 = "2018年04月29日"
  33. d30 = "2018年04月30日"
  34. c1 = 41 //需要录入的行数 50
  35. Sub 子程序1()
  36. Delay 800
  37. MoveTo 114, 273 //点击瓦斯中班
  38. Delay 200
  39. LeftClick 1
  40. Delay 4000 //打开页面时间长
  41. MoveTo 861, 308 //鼠标移动到日历图标
  42. Delay 300
  43. LeftClick 1//点击日历,打开日期选择界面
  44. Delay 300
  45. LeftClick 1//点击日历,打开日期选择界面
  46. Delay 300
  47. KeyDown 17, 1
  48. KeyPress 65, 1
  49. KeyUp 17, 1//全选
  50. Delay 300
  51. KeyPress "Delete", 1//清空
  52. End Sub
  53. Sub 子程序2()
  54. Delay 800
  55. KeyDown 17, 1
  56. KeyPress 86, 1
  57. KeyUp 17, 1//粘贴
  58. Delay 250
  59. MoveTo 912, 312 //定位到查询
  60. Delay 300
  61. LeftClick 1//点击查询
  62. Delay 2000
  63. c=1
  64. Delay 100
  65. MoveTo 457, 258 //定位到增加记录
  66. Delay 100
  67. Do Until c > c1+3
  68. Delay 100
  69. LeftClick 1 //点击添加行
  70. Delay 700
  71. c = c + 1
  72. Delay 100
  73. Loop
  74. Delay 2000
  75. MoveTo 234, 256
  76. Delay 200
  77. LeftClick 1 //点击提交
  78. Delay 1500
  79. Delay 1500
  80. MoveTo 386, 222
  81. Delay 200
  82. LeftClick 1 //点击 关闭
  83. Delay 1500
  84. End Sub
  85. Delay 500
  86. LockMouse //锁定鼠标位置
  87. //Call 子程序1()
  88. //Call Plugin.Sys.SetCLB(d1) //将数据写入剪切板
  89. //Call 子程序2()
  90. //Call 子程序1()
  91. //Call Plugin.Sys.SetCLB(d2) //将数据写入剪切板
  92. //Call 子程序2()
  93. Call 子程序1()
  94. Call Plugin.Sys.SetCLB(d3)//将数据写入剪切板
  95. Call 子程序2()
  96. Call 子程序1()
  97. Call Plugin.Sys.SetCLB(d4) //将数据写入剪切板
  98. Call 子程序2()
  99. Call 子程序1()
  100. Call Plugin.Sys.SetCLB(d5) //将数据写入剪切板
  101. Call 子程序2()
  102. Call 子程序1()
  103. Call Plugin.Sys.SetCLB(d6) //将数据写入剪切板
  104. Call 子程序2()
  105. Call 子程序1()
  106. Call Plugin.Sys.SetCLB(d7) //将数据写入剪切板
  107. Call 子程序2()
  108. Call 子程序1()
  109. Call Plugin.Sys.SetCLB(d8) //将数据写入剪切板
  110. Call 子程序2()
  111. Call 子程序1()
  112. Call Plugin.Sys.SetCLB(d9) //将数据写入剪切板
  113. Call 子程序2()
  114. Call 子程序1()
  115. Call Plugin.Sys.SetCLB(d10) //将数据写入剪切板
  116. Call 子程序2()
  117. Call 子程序1()
  118. Call Plugin.Sys.SetCLB(d11) //将数据写入剪切板
  119. Call 子程序2()
  120. Call 子程序1()
  121. Call Plugin.Sys.SetCLB(d12) //将数据写入剪切板
  122. Call 子程序2()
  123. Call 子程序1()
  124. Call Plugin.Sys.SetCLB(d13)//将数据写入剪切板
  125. Call 子程序2()
  126. Call 子程序1()
  127. Call Plugin.Sys.SetCLB(d14) //将数据写入剪切板
  128. Call 子程序2()
  129. Call 子程序1()
  130. Call Plugin.Sys.SetCLB(d15) //将数据写入剪切板
  131. Call 子程序2()
  132. Call 子程序1()
  133. Call Plugin.Sys.SetCLB(d16) //将数据写入剪切板
  134. Call 子程序2()
  135. Call 子程序1()
  136. Call Plugin.Sys.SetCLB(d17) //将数据写入剪切板
  137. Call 子程序2()
  138. Call 子程序1()
  139. Call Plugin.Sys.SetCLB(d18) //将数据写入剪切板
  140. Call 子程序2()
  141. Call 子程序1()
  142. Call Plugin.Sys.SetCLB(d19) //将数据写入剪切板
  143. Call 子程序2()
  144. Call 子程序1()
  145. Call Plugin.Sys.SetCLB(d20) //将数据写入剪切板
  146. Call 子程序2()
  147. Call 子程序1()
  148. Call Plugin.Sys.SetCLB(d21) //将数据写入剪切板
  149. Call 子程序2()
  150. Call 子程序1()
  151. Call Plugin.Sys.SetCLB(d22) //将数据写入剪切板
  152. Call 子程序2()
  153. Call 子程序1()
  154. Call Plugin.Sys.SetCLB(d23)//将数据写入剪切板
  155. Call 子程序2()
  156. Call 子程序1()
  157. Call Plugin.Sys.SetCLB(d24) //将数据写入剪切板
  158. Call 子程序2()
  159. Call 子程序1()
  160. Call Plugin.Sys.SetCLB(d25) //将数据写入剪切板
  161. Call 子程序2()
  162. Call 子程序1()
  163. Call Plugin.Sys.SetCLB(d26) //将数据写入剪切板
  164. Call 子程序2()
  165. Call 子程序1()
  166. Call Plugin.Sys.SetCLB(d27) //将数据写入剪切板
  167. Call 子程序2()
  168. Call 子程序1()
  169. Call Plugin.Sys.SetCLB(d28) //将数据写入剪切板
  170. Call 子程序2()
  171. Call 子程序1()
  172. Call Plugin.Sys.SetCLB(d29) //将数据写入剪切板
  173. Call 子程序2()
  174. Call 子程序1()
  175. Call Plugin.Sys.SetCLB(d30) //将数据写入剪切板
  176. Call 子程序2()

示例6

gc瓦斯自动录入4月份V1

  1. //先打开xls表和chrome浏览器,都最大化
  2. //chrome打开平台,登录,打开瓦斯日报表-选择一个班次,如夜班、早班、中班
  3. //修改值班日期为需要录入的xls表的日期,如你要录入2018年06月11日的gc煤矿瓦斯检查班报表(夜班),就定位到当天,手动点击增加记录,创建大于40行的空行,进行提交保存。
  4. //chrome的鼠标初始位置在表格左上角,先录入一个数据,保证是直接可录入的状态,再只选中该单元格,不要成为编辑状态。
  5. //删除xls表最下面值班人的所有行,而且气体含量的CH4(%)第二列和CO2第二列检查时间的第二列需要录入的部分第一行不能为空,可手动输入任意字符进行填充,搬运完成以后再删除
  6. //xls定位到a6的位置,也就是检查地点下面的那个单元格
  7. //alt+tab切换一下,保证可以在xls表和chrome浏览器之间来回切换
  8. //初始在xls表,启动脚本的快捷键是ctrl+f10,有的计算机是ctrl+fn+f10,就可以进行批量复制了,复制完以后在chrome上进行提交保存,再删除最下面的空行。
  9. //若出错,狂按ctrl+f12或ctrl+fn+f12,若不行试试f12,fn+f12
  10. Dim a,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,aa,bb,c1
  11. //但只是复制为字符串,未赋值为变量的数值
  12. //a1检测地点
  13. //a2 人数
  14. //a3 温度1
  15. //a4 温度2
  16. //a5 CH4-1
  17. //a6 CH4-2
  18. //a7 CO2-1
  19. //a8 CO2-2
  20. //a9 检查时间1
  21. //a10 检查时间2
  22. //a11 检查人
  23. //aa 读取的列数
  24. //bb 写的列数
  25. //c1 下拉多少行
  26. a=""
  27. c1 = 41
  28. c1 = c1 - 1
  29. Delay 800
  30. LockMouse //锁定鼠标位置
  31. Call Plugin.Sys.SetCLB(a) //清空剪切板
  32. Delay 800
  33. aa = 1//默认先读第一列
  34. Do Until aa>11
  35. Delay 250
  36. KeyDown 16, 1
  37. KeyPress "Down", c1
  38. KeyUp 16, 1 //全部选择该列
  39. Delay 250
  40. KeyDown 17, 1
  41. KeyPress 67, 1
  42. KeyUp 17, 1//复制
  43. Delay 123
  44. If aa=1 then
  45. a1 = Plugin.Sys.GetCLB()//获取剪切板的数据
  46. Elseif aa=2 then
  47. a2 = Plugin.Sys.GetCLB()//获取剪切板的数据
  48. Elseif aa=3 then
  49. a3 = Plugin.Sys.GetCLB()//获取剪切板的数据
  50. Elseif aa=4 then
  51. a4 = Plugin.Sys.GetCLB()//获取剪切板的数据
  52. Elseif aa=5 then
  53. a5 = Plugin.Sys.GetCLB()//获取剪切板的数据
  54. Elseif aa=6 then
  55. a6 = Plugin.Sys.GetCLB()//获取剪切板的数据
  56. Elseif aa=7 then
  57. a7 = Plugin.Sys.GetCLB()//获取剪切板的数据
  58. Elseif aa=8 then
  59. a8 = Plugin.Sys.GetCLB()//获取剪切板的数据
  60. Elseif aa=9 then
  61. a9 = Plugin.Sys.GetCLB()//获取剪切板的数据
  62. Elseif aa= 10 then
  63. a10 = Plugin.Sys.GetCLB()//获取剪切板的数据
  64. Elseif aa= 11 then
  65. a11 = Plugin.Sys.GetCLB()//获取剪切板的数据
  66. Else
  67. End if
  68. Delay 123
  69. KeyPress "Right", 1 //移动到下一个
  70. Delay 123
  71. aa = aa + 1
  72. Loop
  73. Delay 250
  74. KeyDown 18, 1
  75. KeyPress 9, 1
  76. KeyUp 18, 1//alt+tab切换到chrome
  77. Delay 123
  78. bb = 1//默认先写第一列
  79. Do Until bb > 13
  80. Delay 250
  81. If bb=1 then
  82. Call Plugin.Sys.SetCLB(a1) //将数据写入剪切板 检查地点
  83. Elseif bb=2 then
  84. Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数
  85. Elseif bb=3 then
  86. Call Plugin.Sys.SetCLB(a9) //将数据写入剪切板 时间1
  87. Elseif bb=4 then
  88. Call Plugin.Sys.SetCLB(a5) //将数据写入剪切板 CH4-1
  89. Elseif bb=5 then
  90. Call Plugin.Sys.SetCLB(a7) //将数据写入剪切板 CO2-1
  91. Elseif bb=6 then
  92. Call Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度-1
  93. Elseif bb=7 then
  94. Call Plugin.Sys.SetCLB(a11) //将数据写入剪切板 检查人
  95. Elseif bb=8 then
  96. Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数
  97. Elseif bb=9 then
  98. Call Plugin.Sys.SetCLB(a10) //将数据写入剪切板 时间2
  99. Elseif bb=10 then
  100. Call Plugin.Sys.SetCLB(a6)//将数据写入剪切板 CH4-2
  101. Elseif bb= 11 then
  102. Call Plugin.Sys.SetCLB(a8) //将数据写入剪切板 CO2-2
  103. Elseif bb= 12 then
  104. Call Plugin.Sys.SetCLB(a4) //将数据写入剪切板 温度-2
  105. Elseif bb= 13 then
  106. Call Plugin.Sys.SetCLB(a11) //将数据写入剪切板 检查人
  107. Else
  108. End if
  109. Delay 250
  110. KeyDown 17, 1
  111. KeyPress 86, 1
  112. KeyUp 17, 1//粘贴整列
  113. Delay 250
  114. KeyPress "Up", c1//定位到下一列的第一行
  115. Delay 123
  116. KeyPress "Right", 1 //移动到下一个
  117. Delay 123
  118. bb = bb + 1
  119. TracePrint bb
  120. Loop

示例7

gc瓦斯自动录入4月神器版V2

  1. //初始化在chrome界面,左侧打开清单,瓦斯日报表,瓦斯日报表顶头
  2. //total commander资源管理器处于打开状态,并移动到需要录入的xls表
  3. 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
  4. //但只是复制为字符串,未赋值为变量的数值
  5. //a1检测地点
  6. //a2 人数
  7. //a3 温度1
  8. //a4 温度2
  9. //a5 CH4-1
  10. //a6 CH4-2
  11. //a7 CO2-1
  12. //a8 CO2-2
  13. //a9 检查时间1
  14. //a10 检查时间2
  15. //a11 检查人
  16. //aa 读取的列数
  17. //bb 写的列数
  18. //c1 下拉多少行
  19. d1 = "2018年04月01日"
  20. d2 = "2018年04月02日"
  21. d3 = "2018年04月03日"
  22. d4 = "2018年04月04日"
  23. d5 = "2018年04月05日"
  24. d6 = "2018年04月06日"
  25. d7 = "2018年04月07日"
  26. d8 = "2018年04月08日"
  27. d9 = "2018年04月09日"
  28. d10 = "2018年04月10日"
  29. d11 = "2018年04月11日"
  30. d12 = "2018年04月12日"
  31. d13 = "2018年04月13日"
  32. d14 = "2018年04月14日"
  33. d15 = "2018年04月15日"
  34. d16 = "2018年04月16日"
  35. d17 = "2018年04月17日"
  36. d18 = "2018年04月18日"
  37. d19 = "2018年04月19日"
  38. d20 = "2018年04月20日"
  39. d21 = "2018年04月21日"
  40. d22 = "2018年04月22日"
  41. d23 = "2018年04月23日"
  42. d24 = "2018年04月24日"
  43. d25 = "2018年04月25日"
  44. d26 = "2018年04月26日"
  45. d27 = "2018年04月27日"
  46. d28 = "2018年04月28日"
  47. d29 = "2018年04月29日"
  48. d30 = "2018年04月30日"
  49. a=""
  50. c1 = 41
  51. c1 = c1 - 1
  52. Sub 子程序1()
  53. Delay 800
  54. MoveTo 119, 274 //点击瓦斯早班
  55. Delay 200
  56. LeftClick 1
  57. Delay 4000 //打开页面时间长
  58. MoveTo 861, 308 //鼠标移动到日历图标
  59. Delay 300
  60. LeftClick 1//点击日历,打开日期选择界面
  61. Delay 300
  62. LeftClick 1//点击日历,打开日期选择界面
  63. Delay 300
  64. KeyDown 17, 1
  65. KeyPress 65, 1
  66. KeyUp 17, 1//全选
  67. Delay 300
  68. KeyPress "Delete", 1//清空
  69. End Sub
  70. Sub 子程序2()
  71. Delay 800
  72. KeyDown 17, 1
  73. KeyPress 86, 1
  74. KeyUp 17, 1//粘贴
  75. Delay 250
  76. MoveTo 912, 312 //定位到查询
  77. Delay 300
  78. LeftClick 1//点击查询
  79. Delay 2000
  80. //KeyPress "Right", 1 //移动激活单元格到第二列
  81. //Delay 2000
  82. KeyDown 18, 1
  83. KeyPress 9, 1
  84. KeyUp 18, 1//alt+tab切换到tc
  85. Delay 2000
  86. KeyPress "Enter", 1//打开xls表
  87. Delay 2000
  88. Delay 250
  89. aa = 1//默认先读第一列
  90. Do Until aa>11
  91. Delay 250
  92. KeyDown 16, 1
  93. KeyPress "Down", c1
  94. KeyUp 16, 1 //全部选择该列
  95. Delay 250
  96. KeyDown 17, 1
  97. KeyPress 67, 1
  98. KeyUp 17, 1//复制
  99. Delay 123
  100. If aa=1 then
  101. a1 = Plugin.Sys.GetCLB()//获取剪切板的数据
  102. Elseif aa=2 then
  103. a2 = Plugin.Sys.GetCLB()//获取剪切板的数据
  104. Elseif aa=3 then
  105. a3 = Plugin.Sys.GetCLB()//获取剪切板的数据
  106. Elseif aa=4 then
  107. a4 = Plugin.Sys.GetCLB()//获取剪切板的数据
  108. Elseif aa=5 then
  109. a5 = Plugin.Sys.GetCLB()//获取剪切板的数据
  110. Elseif aa=6 then
  111. a6 = Plugin.Sys.GetCLB()//获取剪切板的数据
  112. Elseif aa=7 then
  113. a7 = Plugin.Sys.GetCLB()//获取剪切板的数据
  114. Elseif aa=8 then
  115. a8 = Plugin.Sys.GetCLB()//获取剪切板的数据
  116. Elseif aa=9 then
  117. a9 = Plugin.Sys.GetCLB()//获取剪切板的数据
  118. Elseif aa= 10 then
  119. a10 = Plugin.Sys.GetCLB()//获取剪切板的数据
  120. Elseif aa= 11 then
  121. a11 = Plugin.Sys.GetCLB()//获取剪切板的数据
  122. Else
  123. End if
  124. Delay 123
  125. KeyPress "Right", 1 //移动到下一个
  126. Delay 123
  127. aa = aa + 1
  128. Loop
  129. Delay 2000
  130. KeyDown 18, 1
  131. KeyPress 115, 1
  132. KeyUp 18, 1//alt+f4关闭xls表
  133. Delay 2000
  134. KeyPress "Down", 1 //tc界面向下选择
  135. Delay 200
  136. KeyDown 18, 1
  137. KeyPress 9, 1
  138. KeyUp 18, 1//alt+tab切换到chrome
  139. Delay 500
  140. bb = 1//默认先写第一列
  141. Do Until bb > 13
  142. Delay 250
  143. If bb=1 then
  144. Call Plugin.Sys.SetCLB(a1) //将数据写入剪切板 检查地点
  145. Elseif bb=2 then
  146. Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数
  147. Elseif bb=3 then
  148. Call Plugin.Sys.SetCLB(a9) //将数据写入剪切板 时间1
  149. Elseif bb=4 then
  150. Call Plugin.Sys.SetCLB(a5) //将数据写入剪切板 CH4-1
  151. Elseif bb=5 then
  152. Call Plugin.Sys.SetCLB(a7) //将数据写入剪切板 CO2-1
  153. Elseif bb=6 then
  154. Call Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度-1
  155. Elseif bb=7 then
  156. Call Plugin.Sys.SetCLB(a11) //将数据写入剪切板 检查人
  157. Elseif bb=8 then
  158. Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数
  159. Elseif bb=9 then
  160. Call Plugin.Sys.SetCLB(a10) //将数据写入剪切板 时间2
  161. Elseif bb=10 then
  162. Call Plugin.Sys.SetCLB(a6)//将数据写入剪切板 CH4-2
  163. Elseif bb= 11 then
  164. Call Plugin.Sys.SetCLB(a8) //将数据写入剪切板 CO2-2
  165. Elseif bb= 12 then
  166. Call Plugin.Sys.SetCLB(a4) //将数据写入剪切板 温度-2
  167. Elseif bb= 13 then
  168. Call Plugin.Sys.SetCLB(a11) //将数据写入剪切板 检查人
  169. Else
  170. End if
  171. Delay 250
  172. KeyDown 17, 1
  173. KeyPress 86, 1
  174. KeyUp 17, 1//粘贴整列
  175. Delay 250
  176. KeyPress "Up", c1//定位到下一列的第一行
  177. Delay 123
  178. KeyPress "Right", 1 //移动到下一个
  179. Delay 123
  180. bb = bb + 1
  181. TracePrint bb
  182. Loop
  183. Delay 2000
  184. MoveTo 234, 256
  185. Delay 200
  186. LeftClick 1 //点击提交
  187. Delay 1500
  188. Delay 500
  189. MoveTo 386, 222
  190. Delay 200
  191. LeftClick 1 //点击 关闭
  192. Delay 1500
  193. End Sub
  194. Delay 800
  195. LockMouse //锁定鼠标位置
  196. Call Plugin.Sys.SetCLB(a) //清空剪切板
  197. Delay 800
  198. Call 子程序1()
  199. Call Plugin.Sys.SetCLB(d1) //将数据写入剪切板
  200. Call 子程序2()
  201. Call 子程序1()
  202. Call Plugin.Sys.SetCLB(d2) //将数据写入剪切板
  203. Call 子程序2()
  204. Call 子程序1()
  205. Call Plugin.Sys.SetCLB(d3)//将数据写入剪切板
  206. Call 子程序2()
  207. Call 子程序1()
  208. Call Plugin.Sys.SetCLB(d4) //将数据写入剪切板
  209. Call 子程序2()
  210. Call 子程序1()
  211. Call Plugin.Sys.SetCLB(d5) //将数据写入剪切板
  212. Call 子程序2()
  213. Call 子程序1()
  214. Call Plugin.Sys.SetCLB(d6) //将数据写入剪切板
  215. Call 子程序2()
  216. Call 子程序1()
  217. Call Plugin.Sys.SetCLB(d7) //将数据写入剪切板
  218. Call 子程序2()
  219. Call 子程序1()
  220. Call Plugin.Sys.SetCLB(d8) //将数据写入剪切板
  221. Call 子程序2()
  222. Call 子程序1()
  223. Call Plugin.Sys.SetCLB(d9) //将数据写入剪切板
  224. Call 子程序2()
  225. Call 子程序1()
  226. Call Plugin.Sys.SetCLB(d10) //将数据写入剪切板
  227. Call 子程序2()
  228. Call 子程序1()
  229. Call Plugin.Sys.SetCLB(d11) //将数据写入剪切板
  230. Call 子程序2()
  231. Call 子程序1()
  232. Call Plugin.Sys.SetCLB(d12) //将数据写入剪切板
  233. Call 子程序2()
  234. Call 子程序1()
  235. Call Plugin.Sys.SetCLB(d13)//将数据写入剪切板
  236. Call 子程序2()
  237. Call 子程序1()
  238. Call Plugin.Sys.SetCLB(d14) //将数据写入剪切板
  239. Call 子程序2()
  240. Call 子程序1()
  241. Call Plugin.Sys.SetCLB(d15) //将数据写入剪切板
  242. Call 子程序2()
  243. Call 子程序1()
  244. Call Plugin.Sys.SetCLB(d16) //将数据写入剪切板
  245. Call 子程序2()
  246. Call 子程序1()
  247. Call Plugin.Sys.SetCLB(d17) //将数据写入剪切板
  248. Call 子程序2()
  249. Call 子程序1()
  250. Call Plugin.Sys.SetCLB(d18) //将数据写入剪切板
  251. Call 子程序2()
  252. Call 子程序1()
  253. Call Plugin.Sys.SetCLB(d19) //将数据写入剪切板
  254. Call 子程序2()
  255. Call 子程序1()
  256. Call Plugin.Sys.SetCLB(d20) //将数据写入剪切板
  257. Call 子程序2()
  258. Call 子程序1()
  259. Call Plugin.Sys.SetCLB(d21) //将数据写入剪切板
  260. Call 子程序2()
  261. Call 子程序1()
  262. Call Plugin.Sys.SetCLB(d22) //将数据写入剪切板
  263. Call 子程序2()
  264. Call 子程序1()
  265. Call Plugin.Sys.SetCLB(d23)//将数据写入剪切板
  266. Call 子程序2()
  267. Call 子程序1()
  268. Call Plugin.Sys.SetCLB(d24) //将数据写入剪切板
  269. Call 子程序2()
  270. Call 子程序1()
  271. Call Plugin.Sys.SetCLB(d25) //将数据写入剪切板
  272. Call 子程序2()
  273. Call 子程序1()
  274. Call Plugin.Sys.SetCLB(d26) //将数据写入剪切板
  275. Call 子程序2()
  276. Call 子程序1()
  277. Call Plugin.Sys.SetCLB(d27) //将数据写入剪切板
  278. Call 子程序2()
  279. Call 子程序1()
  280. Call Plugin.Sys.SetCLB(d28) //将数据写入剪切板
  281. Call 子程序2()
  282. Call 子程序1()
  283. Call Plugin.Sys.SetCLB(d29) //将数据写入剪切板
  284. Call 子程序2()
  285. Call 子程序1()
  286. Call Plugin.Sys.SetCLB(d30) //将数据写入剪切板
  287. Call 子程序2()

示例8

wl瓦斯自动录入5月6月V2

  1. //先打开xls表和chrome浏览器,都最大化
  2. //chrome打开wl平台,登录,打开瓦斯日报表-选择一个班次,如夜班、早班、中班
  3. //修改值班日期为需要录入的xls表的日期,如你要录入2018年06月11日的wl煤矿瓦斯检查班报表(夜班),就定位到当天,手动点击增加记录,创建大于该xle表待录入数据总行的空行,进行提交保存。
  4. //chrome的鼠标初始位置在表格左上角的人数下面的单元格,先录入一个数据,保证是直接可录入的状态,再只选中该单元格,不要成为编辑状态。
  5. //删除xls表最下面备注及以下的的所有行,而且气体含量的CH4(%)第二列和CO2第二列检查时间的第二列需要录入的部分第一行不能为空,可手动输入任意字符进行填充,搬运完成以后再删除
  6. //xls定位到第一个人数下面的单元格的位置,也就是检查地点下面的那个单元格 (若为早班或中班,则定位到该班的左上角人数下面的单元格)
  7. //alt+tab切换一下,保证可以在xls表和chrome浏览器之间来回切换
  8. //初始在xls表,启动脚本的快捷键是ctrl+f10,有的计算机是ctrl+fn+f10,就可以进行批量复制了,复制完以后在chrome上进行提交保存,再删除最下面的空行。
  9. //若出错,狂按ctrl+f12或ctrl+fn+f12,若不行试试f12,fn+f12
  10. Dim a,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,aa,bb,c1
  11. //但只是复制为字符串,未赋值为变量的数值
  12. //a1检测地点
  13. //a2 人数
  14. //a3 温度
  15. //a4 CH4-1
  16. //a5 CH4-2
  17. //a6 CO2-1
  18. //a7 CO2-2
  19. //a8 检查时间1
  20. //a9 检查时间2
  21. //a10 检查人
  22. //aa 读取的列数
  23. //bb 写的列数
  24. //c1 下拉多少行
  25. a=""
  26. c1 = 48
  27. c1 = c1 - 1
  28. Delay 800
  29. LockMouse //锁定鼠标位置
  30. Call Plugin.Sys.SetCLB(a) //清空剪切板
  31. Delay 800
  32. aa = 2//默认先读第二列 人数
  33. Do Until aa>10
  34. Delay 250
  35. KeyDown 16, 1
  36. KeyPress "Down", c1
  37. KeyUp 16, 1 //全部选择该列
  38. Delay 250
  39. KeyDown 17, 1
  40. KeyPress 67, 1
  41. KeyUp 17, 1//复制
  42. Delay 123
  43. If aa=1 then
  44. a1 = Plugin.Sys.GetCLB()//获取剪切板的数据
  45. Elseif aa=2 then
  46. a2 = Plugin.Sys.GetCLB()//获取剪切板的数据
  47. Elseif aa=3 then
  48. a3 = Plugin.Sys.GetCLB()//获取剪切板的数据
  49. Elseif aa=4 then
  50. a4 = Plugin.Sys.GetCLB()//获取剪切板的数据
  51. Elseif aa=5 then
  52. a5 = Plugin.Sys.GetCLB()//获取剪切板的数据
  53. Elseif aa=6 then
  54. a6 = Plugin.Sys.GetCLB()//获取剪切板的数据
  55. Elseif aa=7 then
  56. a7 = Plugin.Sys.GetCLB()//获取剪切板的数据
  57. Elseif aa=8 then
  58. a8 = Plugin.Sys.GetCLB()//获取剪切板的数据
  59. Elseif aa=9 then
  60. a9 = Plugin.Sys.GetCLB()//获取剪切板的数据
  61. Elseif aa= 10 then
  62. a10 = Plugin.Sys.GetCLB()//获取剪切板的数据
  63. Else
  64. End if
  65. Delay 123
  66. KeyPress "Right", 1 //移动到下一个
  67. Delay 123
  68. aa = aa + 1
  69. Loop
  70. Delay 250
  71. KeyDown 18, 1
  72. KeyPress 9, 1
  73. KeyUp 18, 1//alt+tab切换到chrome
  74. Delay 123
  75. bb = 2//默认先写第二列 人数
  76. Do Until bb > 13
  77. Delay 250
  78. If bb=1 then
  79. Call Plugin.Sys.SetCLB(a1) //将数据写入剪切板 检查地点
  80. Elseif bb=2 then
  81. Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数
  82. Elseif bb=3 then
  83. Call Plugin.Sys.SetCLB(a8) //将数据写入剪切板 时间1
  84. Elseif bb=4 then
  85. Call Plugin.Sys.SetCLB(a4) //将数据写入剪切板 CH4-1
  86. Elseif bb=5 then
  87. Call Plugin.Sys.SetCLB(a6) //将数据写入剪切板 CO2-1
  88. Elseif bb=6 then
  89. Call Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度
  90. Elseif bb=7 then
  91. Call Plugin.Sys.SetCLB(a10) //将数据写入剪切板 检查人
  92. Elseif bb=8 then
  93. Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数
  94. Elseif bb=9 then
  95. Call Plugin.Sys.SetCLB(a9) //将数据写入剪切板 时间2
  96. Elseif bb=10 then
  97. Call Plugin.Sys.SetCLB(a5)//将数据写入剪切板 CH4-2
  98. Elseif bb= 11 then
  99. Call Plugin.Sys.SetCLB(a7) //将数据写入剪切板 CO2-2
  100. Elseif bb= 12 then
  101. Call Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度
  102. Elseif bb= 13 then
  103. Call Plugin.Sys.SetCLB(a10) //将数据写入剪切板 检查人
  104. Else
  105. End if
  106. Delay 250
  107. KeyDown 17, 1
  108. KeyPress 86, 1
  109. KeyUp 17, 1//粘贴整列
  110. Delay 250
  111. KeyPress "Up", c1//定位到下一列的第一行
  112. Delay 123
  113. KeyPress "Right", 1 //移动到下一个
  114. Delay 123
  115. bb = bb + 1
  116. TracePrint bb
  117. Loop

示例9
wl瓦斯自动录入5月6月神器版V2

  1. //初始化在chrome界面,左侧打开清单,定位到瓦斯日报表,瓦斯日报表顶头
  2. //tc处于打开状态,并移动到需要录入的xls表
  3. 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
  4. //但只是复制为字符串,未赋值为变量的数值
  5. //a1检测地点
  6. //a2 人数
  7. //a3 温度
  8. //a4 CH4-1
  9. //a5 CH4-2
  10. //a6 CO2-1
  11. //a7 CO2-2
  12. //a8 检查时间1
  13. //a9 检查时间2
  14. //a10 检查人
  15. //aa 读取的列数
  16. //bb 写的列数
  17. //c1 下拉多少行
  18. d1 = "2018年05月18日"
  19. d2 = "2018年05月19日"
  20. d3 = "2018年05月20日"
  21. d4 = "2018年05月24日"
  22. d5 = "2018年05月25日"
  23. d6 = "2018年05月26日"
  24. d7 = "2018年05月27日"
  25. d8 = "2018年05月28日"
  26. d9 = "2018年05月30日"
  27. d10 = "2018年05月31日"
  28. a=""
  29. c1 = 50
  30. c1 = c1 - 1
  31. Sub 子程序1()
  32. Delay 800
  33. MoveTo 119, 272 //点击瓦斯中班
  34. Delay 200
  35. LeftClick 1
  36. Delay 4000 //打开页面时间长
  37. MoveTo 861, 308 //鼠标移动到日历图标
  38. Delay 300
  39. LeftClick 1//点击日历,打开日期选择界面
  40. Delay 300
  41. LeftClick 1//点击日历,打开日期选择界面
  42. Delay 300
  43. KeyDown 17, 1
  44. KeyPress 65, 1
  45. KeyUp 17, 1//全选
  46. Delay 300
  47. KeyPress "Delete", 1//清空
  48. End Sub
  49. Sub 子程序2()
  50. Delay 800
  51. KeyDown 17, 1
  52. KeyPress 86, 1
  53. KeyUp 17, 1//粘贴
  54. Delay 250
  55. MoveTo 912, 312 //定位到查询
  56. Delay 300
  57. LeftClick 1//点击查询
  58. Delay 2000
  59. KeyPress "Right", 1 //移动激活单元格到第二列
  60. Delay 2000
  61. KeyDown 18, 1
  62. KeyPress 9, 1
  63. KeyUp 18, 1//alt+tab切换到tc
  64. Delay 2000
  65. KeyPress "Enter", 1//打开xls表
  66. Delay 2000
  67. Delay 250
  68. aa = 2//默认先读第二列 人数
  69. Do Until aa>10
  70. Delay 250
  71. KeyDown 16, 1
  72. KeyPress "Down", c1
  73. KeyUp 16, 1 //全部选择该列
  74. Delay 250
  75. KeyDown 17, 1
  76. KeyPress 67, 1
  77. KeyUp 17, 1//复制
  78. Delay 123
  79. If aa=1 then
  80. a1 = Plugin.Sys.GetCLB()//获取剪切板的数据
  81. Elseif aa=2 then
  82. a2 = Plugin.Sys.GetCLB()//获取剪切板的数据
  83. Elseif aa=3 then
  84. a3 = Plugin.Sys.GetCLB()//获取剪切板的数据
  85. Elseif aa=4 then
  86. a4 = Plugin.Sys.GetCLB()//获取剪切板的数据
  87. Elseif aa=5 then
  88. a5 = Plugin.Sys.GetCLB()//获取剪切板的数据
  89. Elseif aa=6 then
  90. a6 = Plugin.Sys.GetCLB()//获取剪切板的数据
  91. Elseif aa=7 then
  92. a7 = Plugin.Sys.GetCLB()//获取剪切板的数据
  93. Elseif aa=8 then
  94. a8 = Plugin.Sys.GetCLB()//获取剪切板的数据
  95. Elseif aa=9 then
  96. a9 = Plugin.Sys.GetCLB()//获取剪切板的数据
  97. Elseif aa= 10 then
  98. a10 = Plugin.Sys.GetCLB()//获取剪切板的数据
  99. Else
  100. End if
  101. Delay 123
  102. KeyPress "Right", 1 //移动到下一个
  103. Delay 123
  104. aa = aa + 1
  105. Loop
  106. Delay 2000
  107. KeyDown 18, 1
  108. KeyPress 115, 1
  109. KeyUp 18, 1//alt+f4关闭xls表
  110. Delay 2000
  111. KeyPress "Down", 1 //tc界面向下选择
  112. Delay 200
  113. KeyDown 18, 1
  114. KeyPress 9, 1
  115. KeyUp 18, 1//alt+tab切换到chrome
  116. Delay 500
  117. bb = 2//默认先写第二列 人数
  118. Do Until bb > 13
  119. Delay 250
  120. If bb=1 then
  121. Call Plugin.Sys.SetCLB(a1) //将数据写入剪切板 检查地点
  122. Elseif bb=2 then
  123. Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数
  124. Elseif bb=3 then
  125. Call Plugin.Sys.SetCLB(a8) //将数据写入剪切板 时间1
  126. Elseif bb=4 then
  127. Call Plugin.Sys.SetCLB(a4) //将数据写入剪切板 CH4-1
  128. Elseif bb=5 then
  129. Call Plugin.Sys.SetCLB(a6) //将数据写入剪切板 CO2-1
  130. Elseif bb=6 then
  131. Call Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度
  132. Elseif bb=7 then
  133. Call Plugin.Sys.SetCLB(a10) //将数据写入剪切板 检查人
  134. Elseif bb=8 then
  135. Call Plugin.Sys.SetCLB(a2) //将数据写入剪切板 人数
  136. Elseif bb=9 then
  137. Call Plugin.Sys.SetCLB(a9) //将数据写入剪切板 时间2
  138. Elseif bb=10 then
  139. Call Plugin.Sys.SetCLB(a5)//将数据写入剪切板 CH4-2
  140. Elseif bb= 11 then
  141. Call Plugin.Sys.SetCLB(a7) //将数据写入剪切板 CO2-2
  142. Elseif bb= 12 then
  143. Call Plugin.Sys.SetCLB(a3) //将数据写入剪切板 温度
  144. Elseif bb= 13 then
  145. Call Plugin.Sys.SetCLB(a10) //将数据写入剪切板 检查人
  146. Else
  147. End if
  148. Delay 250
  149. KeyDown 17, 1
  150. KeyPress 86, 1
  151. KeyUp 17, 1//粘贴整列
  152. Delay 250
  153. KeyPress "Up", c1//定位到下一列的第一行
  154. Delay 123
  155. KeyPress "Right", 1 //移动到下一个
  156. Delay 123
  157. bb = bb + 1
  158. TracePrint bb
  159. Loop
  160. Delay 2000
  161. MoveTo 234, 256
  162. Delay 200
  163. LeftClick 1 //点击提交
  164. Delay 1500
  165. Delay 500
  166. MoveTo 386, 222
  167. Delay 200
  168. LeftClick 1 //点击 关闭
  169. Delay 1500
  170. End Sub
  171. Delay 800
  172. LockMouse //锁定鼠标位置
  173. Call Plugin.Sys.SetCLB(a) //清空剪切板
  174. Delay 800
  175. Call 子程序1()
  176. Call Plugin.Sys.SetCLB(d1) //将数据写入剪切板
  177. Call 子程序2()
  178. Call 子程序1()
  179. Call Plugin.Sys.SetCLB(d2) //将数据写入剪切板
  180. Call 子程序2()
  181. Call 子程序1()
  182. Call Plugin.Sys.SetCLB(d3)//将数据写入剪切板
  183. Call 子程序2()
  184. //Call 子程序1()
  185. //Call Plugin.Sys.SetCLB(d4) //将数据写入剪切板
  186. //Call 子程序2()
  187. //Call 子程序1()
  188. //Call Plugin.Sys.SetCLB(d5) //将数据写入剪切板
  189. //Call 子程序2()
  190. //Call 子程序1()
  191. //Call Plugin.Sys.SetCLB(d6) //将数据写入剪切板
  192. //Call 子程序2()
  193. //Call 子程序1()
  194. //Call Plugin.Sys.SetCLB(d7) //将数据写入剪切板
  195. //Call 子程序2()
  196. //Call 子程序1()
  197. //Call Plugin.Sys.SetCLB(d8) //将数据写入剪切板
  198. //Call 子程序2()
  199. //Call 子程序1()
  200. //Call Plugin.Sys.SetCLB(d9) //将数据写入剪切板
  201. //Call 子程序2()
  202. //Call 子程序1()
  203. //Call Plugin.Sys.SetCLB(d10) //将数据写入剪切板
  204. //Call 子程序2()

迁移

标注好迁移注意事项,主要是初始位置的设置和点坐标的查询,不保证都能执行成功。

发布

版本号要有规律,脚本命名要规范,注释要尽量写清楚,变量命名要统一。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注