欢迎光临散文网 会员登陆 & 注册

办公自动化编程-网页填报人员信息 2DAY (上篇基本语法介绍)

2022-10-31 22:45 作者:sha傻分不qing  | 我要投稿

办公自动化编程-网页填报人员信息 2DAY (上篇基本语法介绍

“共饮一江水 ”我的RPA成长之路 2DAY  

       今天和大家讲解办公自动化编程-网页填报人员信息的程序。简单的介绍下程序结构和使用了哪些语法和功能。

(源代码见文章结尾处的分享链接)

        程序主要执行思路如下,为了方便查看,我用文字代替了复杂的程序,大家先理解程序的主要思路和语法作用后,下载源代码,上机跑程序即可。

Dim arrSelItem,objExcelWorkBook,sRet,arrayRet,dictRet,iRet,jsonRet,arrRet,o

Dim 区域_起始位置,区域_终止位置,程序执行次数

Dim 员工信息,arr_员工信息

Dim 是否发送 = 0       // 通过变量控制程序在测试阶段是否点击发送按钮  0 不发送  1 发送

Dim 坐标 = [[316, 298],[641, 341],[646,396],[1070,400],[644,458],[1247, 461],[803, 520],[1097, 520],[640, 574],[1247, 580],[612, 635],[674,690]]   

//0 新增  1 姓名 2 名族 3 身份证号 4 电话 5 政治面貌 6 性质 7 进场日期 8 班组 9 状态  10  11

/*****************子程序*******************/

Function 移动鼠标定位(坐标_X,坐标_Y) 

    Mouse.Move(0, 0, false,{"iDelayAfter": 300, "iDelayBefore": 200})

    Mouse.Move(坐标_X, 坐标_Y, false,{"iDelayAfter": 300, "iDelayBefore": 200})

    Mouse.Click("left", "click", [],{"iDelayAfter": 300, "iDelayBefore": 300}) //激活当前对话框

End Function


Function 点击空白处   // 消除多选对话框

    Mouse.Move(0, 0, false,{"iDelayAfter": 300, "iDelayBefore": 200})

    Mouse.Move(1333, 457, false,{"iDelayAfter": 300, "iDelayBefore": 200})

    Mouse.Click("left", "click", [],{"iDelayAfter": 300, "iDelayBefore": 300}) //激活当前对话框  

End Function

/*****************主子程序*******************/

objExcelWorkBook = Excel.OpenExcel('''E:\Uibot\04-学习案例\2022-10-27 人员数据录入(BIM+GIS平台)\程序试运行样本.xlsx''',true,"Excel","","")

sRet = Dialog.InputBox("","输入Excel数据读取范围","B3:N22",false)

TracePrint($PrevResult)

arr_员工信息 = Excel.ReadRange(objExcelWorkBook,"Sheet1",sRet,true)

/***********************************************************************

程序执行次数 = 区域_终止位置  - 区域_起始位置 

*************************************************************************/

arrRet = Split(sRet,":")

区域_终止位置 = DigitFromStr(arrRet[1])

区域_起始位置= DigitFromStr(arrRet[0])

程序执行次数 = CInt(区域_终止位置) - CInt(区域_起始位置) 

//激活网页

Window.SetActive(@ui"窗口_项目人员——BIM+GIS智慧建造平台-搜狗高速浏览器1")

//以下程序进入循环执行数据填报过程

For i = 0 To 程序执行次数 step 1

    //录入数据 点击 新增按钮

        移动鼠标定位(坐标[0][0],坐标[0][1]) //点击新增

    //输入 个人信息 (名字、性别....)

    //00-姓名

        移动鼠标定位(坐标[1][0],坐标[1][1]) //点击新增

        Keyboard.Input(arr_员工信息[i][0],{"iDelayAfter": 300, "iDelayBefore": 200, "sSimulate": "message"})

    //01-性别

        Mouse.Move(0, 0, false,{"iDelayAfter": 300, "iDelayBefore": 200})

        Mouse.Move(1247, 343, false,{"iDelayAfter": 300, "iDelayBefore": 200})

        Mouse.Click("left", "click", [],{"iDelayAfter": 300, "iDelayBefore": 300})

        TracePrint(arr_员工信息[i][1])

        If arr_员工信息[i][1] = "男"     //判断性别 男 

            Mouse.Move(-162, 50, true,{"iDelayAfter": 300, "iDelayBefore": 200})

            Mouse.Click("left", "click", [],{"iDelayAfter": 300, "iDelayBefore": 300})

        ElseIf arr_员工信息[i][1] = "女"     //判断性别 女  

            Mouse.Move(-162, 88, true,{"iDelayAfter": 300, "iDelayBefore": 200})

            Mouse.Click("left", "click", [],{"iDelayAfter": 300, "iDelayBefore": 300})

        Else    //手动暂停,提升用户手动选择 排除问题       

                //如果上面几种情况都没有出现,就弹出一个对话框,暂停程序,手动选择对应的选

                   项后,点击确定后,继续执行程序

        End If

    //02-民族   

        移动鼠标定位(坐标[2][0],坐标[2][1]) //点击新增

        Keyboard.Input(arr_员工信息[i][2],{"iDelayAfter": 300, "iDelayBefore": 200, "sSimulate": "message"})

    //03-身份证号

        移动鼠标定位(坐标[3][0],坐标[3][1]) //点击新增

        Keyboard.Input(arr_员工信息[i][3],{"iDelayAfter": 300, "iDelayBefore": 200, "sSimulate": "message"})


    //04-电话

        移动鼠标定位(坐标[4][0],坐标[4][1]) 

        Keyboard.Input(arr_员工信息[i][4],{"iDelayAfter": 300, "iDelayBefore": 200, "sSimulate": "message"})

    //05-政治面貌 

        移动鼠标定位(坐标[5][0],坐标[5][1]) //点击新增

        TracePrint(arr_员工信息[i][5])

        If arr_员工信息[i][5] = "共产党员"     //判断性别 

            Mouse.Move(-162, 50, true,{"iDelayAfter": 300, "iDelayBefore": 200})

            Mouse.Click("left", "click", [],{"iDelayAfter": 300, "iDelayBefore": 300})

        ElseIf arr_员工信息[i][5] = "共青团员"     //判断性别  

            Mouse.Move(-162, 88, true,{"iDelayAfter": 300, "iDelayBefore": 200})

            Mouse.Click("left", "click", [],{"iDelayAfter": 300, "iDelayBefore": 300})

        ElseIf arr_员工信息[i][5] = "群众"     //判断性别 

            Mouse.Move(-162, 120, true,{"iDelayAfter": 300, "iDelayBefore": 200})

            Mouse.Click("left", "click", [],{"iDelayAfter": 300, "iDelayBefore": 300})   

        Else    //手动暂停,提升用户手动选择 排除问题

                //如果上面几种情况都没有出现,就弹出一个对话框,暂停程序,手动选择对应的选

                   项后,点击确定后,继续执行程序

        End If

    //06-工作性质

        移动鼠标定位(坐标[6][0],坐标[6][1]) //点击新增

        TracePrint(arr_员工信息[i][6])

        Mage.Hover(@ui"DIV1",{"x":0,"y":0,"width":0,"height":0},{"Pubkey":"gKiqmYD4Tv19DhuceVvKdBcU","Secret":"Kl3ls5qHG5oO0TejoQms0Pm4BF3jh6gQ","Url":"https://cloud.laiye.com/idp"},arr_员工信息[0][6],"instr",1,5000,{"bContinueOnError":true,"iDelayAfter":300,"iDelayBefore":200,"sCursorPosition":"Center","iCursorOffsetX":0,"iCursorOffsetY":0,"sKeyModifiers":[],"sSimulate":"simulate"})


        点击空白处

    //07-进场日期

        移动鼠标定位(坐标[7][0],坐标[7][1])      

        //在对话框中输入员工进场日期  日期格式必须是 202X-X-X

        点击空白处

    //08-班组

        //暂不执行

    //09-状态

        移动鼠标定位(坐标[9][0],坐标[9][1])     //点击状态按钮,激活多选对话框

        TracePrint(arr_员工信息[i][9])

        //对比变量:arr_员工信息[i][9]中的数据,选择对应的按钮

    //10-考勤

        If arr_员工信息[i][10] = "是"          // 如果 变量:arr_员工信息[i][10] = "是" 勾选考勤对话框

            移动鼠标定位(坐标[10][0],坐标[10][1]) //点击新增

        End If

    //11-关联用户

        //暂不执行

    //12-排序

        移动鼠标定位(坐标[11][0],坐标[11][1])          //激活序号对话框

        For o = 0 To 3 step 1

                //执行4次退格键

        Next

        Keyboard.Input(arr_员工信息[i][12],{"iDelayAfter": 300, "iDelayBefore": 200, "sSimulate": "message"})

        TracePrint(arr_员工信息[i][12])  

    // 最有一个阶段     点击 确定  完成信息填报

        If 是否发送 = 1       // 是否发送  0 不发送  1 发送

                //点击发送按钮

        Else  

                //  关闭窗口

        End If

Next

    看过程序结构,接下来我们一起了解下基本的语法。程序中我使用:

赋值语句

定义变量语句

定义二维数组

子程序

循环次数语句

条件判断语句

下期我们讲解上述语法知识

程序源代码下载:

链接:https://pan.baidu.com/s/1GL3tLUUX5RFabP7Kbx-mOw 

提取码:zssc 

请大家多多支持我,你们关注与支持,就是我坚持的动力。


办公自动化编程-网页填报人员信息 2DAY (上篇基本语法介绍)的评论 (共 条)

分享到微博请遵守国家法律