声明:本文为个人在扶风县的工作经验,非官方文档。如果继续阅读,默认您已经意识到实际操作流程已经变化的可能性,并自愿承担相应责任。同时,非常感谢您能留言提出自己的宝贵经验。

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

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

'注意:
'1.我使用的电脑是联想IdeaPad Yoga13,屏幕分辨率为1600X900,按键精灵的点击操作是根据屏幕坐标的,用其他分辨率电脑会不能正常点击。另外,注意自己机器的配置和性能,可能需要修改delay的时间。适合自己电脑才行。
'2.因为单位切换窗口默认显示前面4家,所以,前面4家我们手动申报。(主要是我懒没写这部分代码:前4次用鼠标坐标定位点击就能切换,用变量记录运行4次后来切换到下面的点击下拉滑动条末端按钮(不是滑块)方式)

'运行过程:
'1.(已经登录了一家单位之后的界面状态)正常打开的程序界面,点击单位管理,在弹出的单位列表中选择单位(有一个判断,是否已经申报,是则继续点击切换下一家),点击进入, 输入密码,点击登录。
'2.进入界面,点击“综合所得申报”,点击“填写”,在提示窗口依次点击按钮,最后“复制上月数据”,(这里有一个判断上月是否有数据,有则复制,无则切换单位)。复制完毕, 点击“返回”。
'3.点击“税款计算”,等待完成,点击“申报表报送”,点击“发送”,等待发送完成,点击“获取反馈”。然后,点击“单位管理”,进入下一个循环。

'使用方法:
'1.先下载安装按键精灵,http://www.anjian.com/。把代码复制到按键精灵脚本编辑框里;
'2.需要首先设置xuhao,mima等变量,就是从哪家开始,就把它的序号赋值给xuhao,目的是通过cishu = (xuhao-4)*2,计算出切换单位时,下滑块的点击次数。xuhao必须大于等于5,因为单位切换窗口默认显示前面4家。-_-||
'3.另外可以设定一个accoutmax值,申报次数等于accoutmax时,就弹出对话框,告诉设置的次数已到,还要不要继续。到哪家停止,就把他的序号-4得到的值赋值给accout就行。
'4.设置完,按键精灵为调试模式。然后就可以首先登录任意一家,进入软件正常首页窗口。然后F10启动程序,然后就会自动切换到第xuhao家,依次执行,直到次数等于accoutmax时弹出窗口提醒。(为啥这么麻烦,因为程序写得简单:程序复杂,人简单;程序简单,人复杂。-_-||)

Dim xuhao, cishu, accoutmax, accout, mima
xuhao = 5 '自动脚本处理的第一家公司序号,目前默认为5,因为前4家不用程序申报。(xuhao值需要手动修改,其实可以使用窗口的,汗-_-||,)
cishu = (xuhao-4)*2 '计算出切换单位时,需要点击滑动条末端的次数
accoutmax = 20 '执行的最大遍数,根据你电脑软件添加的单位数量实际情况-4设置。
mima = "Aa123456" '这里根据自己单位情况,设置统一的密码


'定义进入循环的开头,密码框输入操作开始。既是程序模拟操作的开头,也是以后每次循环操作的开头。
Rem back

'下面这里仅仅是利用弹出窗口暂停执行,让我注意到已经多少次,是不是要停止了。(没有加入自动停止功能,将就用吧,-_-||)
If accout = accoutmax Then
    MsgBox"已经"&accout&"次"
End If

'下面这个是点击企业管理,准备切换
Delay 3000 '增加反应时间

MoveTo 1435, 43
Delay 500
LeftClick 1
Delay 475
Delay 6
Delay 1003
Delay 7
Delay 1007
Delay 8

'移动到滑条的最下端的按钮上
MoveTo 1228, 557
Delay 1007
Delay 5
Delay 474
Delay 5
Delay 474

'开始模拟鼠标点击滑条末端
LeftClick cishu / 2 '分两次进行点击滑条末端的操作,防止系统跟不上。
Delay 2000
LeftClick cishu/2 '分两次进行点击滑条末端的操作,防止系统跟不上。

'切换单位完成,cishu初始值在最开始赋值为cishu = (xuhao-4)*2,xuhao默认5,就是点击2次是到第5家。现在要加上2,为下一次切换做准备。
cishu = cishu + 2 'cishu是鼠标点击次数,为下一次切换做准备。
accout = accout+1 '计数开始有值为1.每循环一次加1。

Rem clickAgain
Dim xuanze, xuanze2
xuanze = GetPixelColor(930, 544)
xuanze2 = GetPixelColor(907,543)
If xuanze = "333333" and xuanze2= "333333" Then
    '==========判断是否已经申报,如果是,则继续点击2下,==========
    LeftClick 2 '相当于提前完成一个切换,所以,下面要为下一家做准备。
    cishu = cishu + 2 'cishu是鼠标点击次数,为下一次切换做准备。
    accout = accout+1 '计数开始有值为1.每循环一次加1。

    Goto clickAgain '如果已经报过,点击完,继续跳回检测

End If

'移动到“进入”上,点击进入
MoveTo 1186, 543
Delay 657
LeftClick 1
Delay 243
Delay 7
Delay 1005
Delay 5
Delay 1007
Delay 5
'========================================
'进入界面后,开始输入密码登录
'========================================

Delay 125 '延迟是为了等待电脑的响应。
'点击密码输入框,并输入密码,下面操作是模拟手工输入,“Aa123456”.
MoveTo 710, 471
Delay 726
LeftClick 1
Delay 85


'输入密码
Call Plugin.Sys.SetCLB(mima) '把mima变量设置到粘贴板上,下面使用模拟ctl+v的方式粘贴
KeyDown 17, 1
KeyPress 86, 1
KeyUp 17, 1
KeyUp 86,1

'关闭键盘按钮
MoveTo 978, 656
Delay 219
LeftClick 1

'点击登录按钮
MoveTo 846, 639
Delay 266
LeftClick 1

Delay 6000'增加反应时间
Delay 6000'增加反应时间
Delay 6000'增加反应时间
Delay 6000'增加反应时间

'点击投诉界面的“确定”按钮
MoveTo 802, 524
Delay 1009


Delay 82
LeftClick 1
Delay 896
Delay 5
Delay 896

'点击“综合所得”项目
MoveTo 111, 221
Delay 1009
Delay 8
Delay 82
LeftClick 1
Delay 896
Delay 5

'点击“填写”按钮
MoveTo 1469, 284
Delay 1007
Delay 4

LeftClick 1'点击
Delay 296
Delay 2

'========================
'MsgBox "标记1"
'========================


Delay 785
Delay 7

'点击第一个提示的“确定”按钮
MoveTo 809, 529
Delay 886
LeftClick 1
Delay 86
Delay 3


'========================
'点击第二个提示“确定”按钮
'========================
MoveTo 765, 507
Delay 706
LeftClick 1
Delay 315
Delay 2

'========================
'MsgBox "选择复制上个月"
'========================
MoveTo 786, 395
Delay 836
LeftDown 1
Delay 49
Delay 5
Delay 41
LeftUp 1

'增加等待时间
Delay 2000

'增加判断,如果遇到不用申报个税的单位,没有历史工资记录,那么“选择复制上个月”就是灰色的,根据屏幕颜色会有一个判断,如果没有上月记录,就跳出后面操作,直接进行切换单位操作。

Dim fuzhi, fuzhi2
fuzhi = GetPixelColor(592, 414)
fuzhi2 = GetPixelColor(600,415)
If fuzhi = "F48542" and fuzhi2= "F48542" Then
    '==========以下是按键精灵录制的内容-关闭窗口,到达选择单位窗口==========
    MoveTo 1062, 345
    Delay 780
    LeftClick 1
    Delay 110
    Delay 2

    Goto back '如果,不用申报个税,就跳回循环的开头,切换下一家。

End If

'========================
'MsgBox "确认复制"
'========================
MoveTo 771, 544
Delay 967
Delay 6
Delay 69
LeftClick 1
Delay 863
Delay 5

'========================
'MsgBox "标记3"
'========================
MoveTo 1012, 584
Delay 895
LeftClick 1
Delay 37
Delay 1
Delay 997

'========================
'MsgBox "标记5"
'========================
MoveTo 264, 195
Delay 991
Delay 5
Delay 133
LeftClick 1

MoveTo 724, 152
Delay 581
LeftClick 1
Delay 343
Delay 6
Delay 1003


MoveTo 725, 148
Delay 1010
Delay 4
Delay 1006
Delay 5
Delay 1009
Delay 5
Delay 1006
Delay 4
Delay 1006
Delay 5
Delay 1008
Delay 5
Delay 1007
Delay 5
Delay 1006
Delay 5
Delay 1010
Delay 5
Delay 1007
Delay 5
Delay 1016
Delay 4
Delay 1008
Delay 5
Delay 1009
Delay 5
Delay 1009
Delay 4
Delay 1264
Delay 1
Delay 754
Delay 5
Delay 1008
Delay 5
Delay 1007
Delay 4

MoveTo 1399, 155
Delay 534
LeftClick 1
Delay 676
Delay 1
Delay 781
Delay 18

'发送申报
MoveTo 1507, 258
Delay 1055
LeftClick 1
Delay 22
Delay 3
Delay 29
LeftUp 1
Delay 896
Delay 5
Delay 1007
Delay 5
Delay 1009
Delay 5
Delay 1009
Delay 5
Delay 1012
Delay 4
Delay 1008
Delay 5
Delay 1007
Delay 5
Delay 1008
Delay 5
Delay 1010
Delay 4
Delay 1010
Delay 4
Delay 1010
Delay 5
Delay 1012
Delay 4
Delay 1010
Delay 5
Delay 1009
Delay 4
Delay 1010
Delay 5
Delay 1008
Delay 7
Delay 1286
Delay 2
Delay 781

'获取反馈
'防止系统慢,跳过获取反馈,再加3秒。
Delay 3000
LeftClick 1
Delay 23
Delay 4
Delay 24
Delay 911
Delay 5
Delay 1009
Delay 16

Goto back '这里是跳转到下一个循环操作


扫一扫 手机查看

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注