【按键精灵】个税软件自动批量报税


也是工作原因,每月初都要给客户申报个税。我们申报个税比较简单,没有太复杂的操作,基本上是复制上个月的数据就可以了。所以,也是机械重复的操作。

使用按键精灵编写了一个脚本,这样就可以帮助我完成这个任务。注意屏幕保护,WPS画报等可能干扰按键精灵的操作。

  1 '注意:
  2 '1.我使用的电脑是联想IdeaPad Yoga13,屏幕分辨率为1600X900,按键精灵的点击操作是根据屏幕坐标的,用其他分辨率电脑会不能正常点击。另外,注意自己机器的配置和性能,可能需要修改delay的时间。适合自己电脑才行。
  3 '2.因为单位切换窗口默认显示前面4家,所以,前面4家我们手动申报。(主要是我懒没写这部分代码:前4次用鼠标坐标定位点击就能切换,用变量记录运行4次后来切换到下面的点击下拉滑动条末端按钮(不是滑块)方式)
  4 
  5 '运行过程:
  6 '1.(已经登录了一家单位之后的界面状态)正常打开的程序界面,点击单位管理,在弹出的单位列表中选择单位(有一个判断,是否已经申报,是则继续点击切换下一家),点击进入, 输入密码,点击登录。
  7 '2.进入界面,点击“综合所得申报”,点击“填写”,在提示窗口依次点击按钮,最后“复制上月数据”,(这里有一个判断上月是否有数据,有则复制,无则切换单位)。复制完毕, 点击“返回”。
  8 '3.点击“税款计算”,等待完成,点击“申报表报送”,点击“发送”,等待发送完成,点击“获取反馈”。然后,点击“单位管理”,进入下一个循环。
  9 
 10 '使用方法:
 11 '1.先下载安装按键精灵,http://www.anjian.com/。把代码复制到按键精灵脚本编辑框里;
 12 '2.需要首先设置xuhao,mima等变量,就是从哪家开始,就把它的序号赋值给xuhao,目的是通过cishu = (xuhao-4)*2,计算出切换单位时,下滑块的点击次数。xuhao必须大于等于5,因为单位切换窗口默认显示前面4家。-_-||
 13 '3.另外可以设定一个accoutmax值,申报次数等于accoutmax时,就弹出对话框,告诉设置的次数已到,还要不要继续。到哪家停止,就把他的序号-4得到的值赋值给accout就行。
 14 '4.设置完,按键精灵为调试模式。然后就可以首先登录任意一家,进入软件正常首页窗口。然后F10启动程序,然后就会自动切换到第xuhao家,依次执行,直到次数等于accoutmax时弹出窗口提醒。(为啥这么麻烦,因为程序写得简单:程序复杂,人简单;程序简单,人复杂。-_-||)
 15 
 16 Dim xuhao, cishu, accoutmax, accout, mima
 17 xuhao = 5 '自动脚本处理的第一家公司序号,目前默认为5,因为前4家不用程序申报。(xuhao值需要手动修改,其实可以使用窗口的,汗-_-||,)
 18 cishu = (xuhao-4)*2 '计算出切换单位时,需要点击滑动条末端的次数
 19 accoutmax = 20 '执行的最大遍数,根据你电脑软件添加的单位数量实际情况-4设置。
 20 mima = "Aa123456" '这里根据自己单位情况,设置统一的密码
 21 
 22 
 23 '定义进入循环的开头,密码框输入操作开始。既是程序模拟操作的开头,也是以后每次循环操作的开头。
 24 Rem back
 25 
 26 '下面这里仅仅是利用弹出窗口暂停执行,让我注意到已经多少次,是不是要停止了。(没有加入自动停止功能,将就用吧,-_-||)
 27 If accout = accoutmax Then
 28     MsgBox"已经"&accout&""
 29 End If
 30 
 31 '下面这个是点击企业管理,准备切换
 32 Delay 3000 '增加反应时间
 33 
 34 MoveTo 1435, 43
 35 Delay 500
 36 LeftClick 1
 37 Delay 475
 38 Delay 6
 39 Delay 1003
 40 Delay 7
 41 Delay 1007
 42 Delay 8
 43 
 44 '移动到滑条的最下端的按钮上
 45 MoveTo 1228, 557
 46 Delay 1007
 47 Delay 5
 48 Delay 474
 49 Delay 5
 50 Delay 474
 51 
 52 '开始模拟鼠标点击滑条末端
 53 LeftClick cishu / 2 '分两次进行点击滑条末端的操作,防止系统跟不上。
 54 Delay 2000
 55 LeftClick cishu/2 '分两次进行点击滑条末端的操作,防止系统跟不上。
 56 
 57 '切换单位完成,cishu初始值在最开始赋值为cishu = (xuhao-4)*2,xuhao默认5,就是点击2次是到第5家。现在要加上2,为下一次切换做准备。
 58 cishu = cishu + 2 'cishu是鼠标点击次数,为下一次切换做准备。
 59 accout = accout+1 '计数开始有值为1.每循环一次加1。
 60 
 61 Rem clickAgain
 62 Dim xuanze, xuanze2
 63 xuanze = GetPixelColor(930, 544)
 64 xuanze2 = GetPixelColor(907,543)
 65 If xuanze = "333333" and xuanze2= "333333" Then
 66     '==========判断是否已经申报,如果是,则继续点击2下,==========
 67     LeftClick 2 '相当于提前完成一个切换,所以,下面要为下一家做准备。
 68     cishu = cishu + 2 'cishu是鼠标点击次数,为下一次切换做准备。
 69     accout = accout+1 '计数开始有值为1.每循环一次加1。
 70 
 71     Goto clickAgain '如果已经报过,点击完,继续跳回检测
 72 
 73 End If
 74 
 75 '移动到“进入”上,点击进入
 76 MoveTo 1186, 543
 77 Delay 657
 78 LeftClick 1
 79 Delay 243
 80 Delay 7
 81 Delay 1005
 82 Delay 5
 83 Delay 1007
 84 Delay 5
 85 '========================================
 86 '进入界面后,开始输入密码登录
 87 '========================================
 88 
 89 Delay 125 '延迟是为了等待电脑的响应。
 90 '点击密码输入框,并输入密码,下面操作是模拟手工输入,“Aa123456”.
 91 MoveTo 710, 471
 92 Delay 726
 93 LeftClick 1
 94 Delay 85
 95 
 96 
 97 '输入密码
 98 Call Plugin.Sys.SetCLB(mima) '把mima变量设置到粘贴板上,下面使用模拟ctl+v的方式粘贴
 99 KeyDown 17, 1
100 KeyPress 86, 1
101 KeyUp 17, 1
102 KeyUp 86,1
103 
104 '关闭键盘按钮
105 MoveTo 978, 656
106 Delay 219
107 LeftClick 1
108 
109 '点击登录按钮
110 MoveTo 846, 639
111 Delay 266
112 LeftClick 1
113 
114 Delay 6000'增加反应时间
115 Delay 6000'增加反应时间
116 Delay 6000'增加反应时间
117 Delay 6000'增加反应时间
118 
119 '点击投诉界面的“确定”按钮
120 MoveTo 802, 524
121 Delay 1009
122 
123 
124 Delay 82
125 LeftClick 1
126 Delay 896
127 Delay 5
128 Delay 896
129 
130 '点击“综合所得”项目
131 MoveTo 111, 221
132 Delay 1009
133 Delay 8
134 Delay 82
135 LeftClick 1
136 Delay 896
137 Delay 5
138 
139 '点击“填写”按钮
140 MoveTo 1469, 284
141 Delay 1007
142 Delay 4
143 
144 LeftClick 1'点击
145 Delay 296
146 Delay 2
147 
148 '========================
149 'MsgBox "标记1"
150 '========================
151 
152 
153 Delay 785
154 Delay 7
155 
156 '点击第一个提示的“确定”按钮
157 MoveTo 809, 529
158 Delay 886
159 LeftClick 1
160 Delay 86
161 Delay 3
162 
163 
164 '========================
165 '点击第二个提示“确定”按钮
166 '========================
167 MoveTo 765, 507
168 Delay 706
169 LeftClick 1
170 Delay 315
171 Delay 2
172 
173 '========================
174 'MsgBox "选择复制上个月"
175 '========================
176 MoveTo 786, 395
177 Delay 836
178 LeftDown 1
179 Delay 49
180 Delay 5
181 Delay 41
182 LeftUp 1
183 
184 '增加等待时间
185 Delay 2000
186 
187 '增加判断,如果遇到不用申报个税的单位,没有历史工资记录,那么“选择复制上个月”就是灰色的,根据屏幕颜色会有一个判断,如果没有上月记录,就跳出后面操作,直接进行切换单位操作。
188 
189 Dim fuzhi, fuzhi2
190 fuzhi = GetPixelColor(592, 414)
191 fuzhi2 = GetPixelColor(600,415)
192 If fuzhi = "F48542" and fuzhi2= "F48542" Then
193     '==========以下是按键精灵录制的内容-关闭窗口,到达选择单位窗口==========
194     MoveTo 1062, 345
195     Delay 780
196     LeftClick 1
197     Delay 110
198     Delay 2
199 
200     Goto back '如果,不用申报个税,就跳回循环的开头,切换下一家。
201 
202 End If
203 
204 '========================
205 'MsgBox "确认复制"
206 '========================
207 MoveTo 771, 544
208 Delay 967
209 Delay 6
210 Delay 69
211 LeftClick 1
212 Delay 863
213 Delay 5
214 
215 '========================
216 'MsgBox "标记3"
217 '========================
218 MoveTo 1012, 584
219 Delay 895
220 LeftClick 1
221 Delay 37
222 Delay 1
223 Delay 997
224 
225 '========================
226 'MsgBox "标记5"
227 '========================
228 MoveTo 264, 195
229 Delay 991
230 Delay 5
231 Delay 133
232 LeftClick 1
233 
234 MoveTo 724, 152
235 Delay 581
236 LeftClick 1
237 Delay 343
238 Delay 6
239 Delay 1003
240 
241 
242 MoveTo 725, 148
243 Delay 1010
244 Delay 4
245 Delay 1006
246 Delay 5
247 Delay 1009
248 Delay 5
249 Delay 1006
250 Delay 4
251 Delay 1006
252 Delay 5
253 Delay 1008
254 Delay 5
255 Delay 1007
256 Delay 5
257 Delay 1006
258 Delay 5
259 Delay 1010
260 Delay 5
261 Delay 1007
262 Delay 5
263 Delay 1016
264 Delay 4
265 Delay 1008
266 Delay 5
267 Delay 1009
268 Delay 5
269 Delay 1009
270 Delay 4
271 Delay 1264
272 Delay 1
273 Delay 754
274 Delay 5
275 Delay 1008
276 Delay 5
277 Delay 1007
278 Delay 4
279 
280 MoveTo 1399, 155
281 Delay 534
282 LeftClick 1
283 Delay 676
284 Delay 1
285 Delay 781
286 Delay 18
287 
288 '发送申报
289 MoveTo 1507, 258
290 Delay 1055
291 LeftClick 1
292 Delay 22
293 Delay 3
294 Delay 29
295 LeftUp 1
296 Delay 896
297 Delay 5
298 Delay 1007
299 Delay 5
300 Delay 1009
301 Delay 5
302 Delay 1009
303 Delay 5
304 Delay 1012
305 Delay 4
306 Delay 1008
307 Delay 5
308 Delay 1007
309 Delay 5
310 Delay 1008
311 Delay 5
312 Delay 1010
313 Delay 4
314 Delay 1010
315 Delay 4
316 Delay 1010
317 Delay 5
318 Delay 1012
319 Delay 4
320 Delay 1010
321 Delay 5
322 Delay 1009
323 Delay 4
324 Delay 1010
325 Delay 5
326 Delay 1008
327 Delay 7
328 Delay 1286
329 Delay 2
330 Delay 781
331 
332 '获取反馈
333 '防止系统慢,跳过获取反馈,再加3秒。
334 Delay 3000
335 LeftClick 1
336 Delay 23
337 Delay 4
338 Delay 24
339 Delay 911
340 Delay 5
341 Delay 1009
342 Delay 16
343 
344 Goto back '这里是跳转到下一个循环操作

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM