SAP Gui Scripting案例4:让脚本自己读Excel创建100个用户

本案例和SAP GUI Scripting案例3:借助Word的邮件合并功能创建100个用户的步骤不同,案例3是利用桌面上的工作生成代码后再执行,现在要通过脚本来读取桌面上的文件并执行了,更高级了是不是?是的!

为了缩短演示的时间,我们就只创建10个用户了。

先准备好数据:

调整代码(记得复制一份代码,以免把之前的成果毁了),使其能自动操作Excel。

可参考文档:

https://blogs.sap.com/2014/08/04/script-recording-playback-for-dummies/

其实就是在原先的代码前面加入一段代码读取Excel中的一行数据中的每一个字段并赋值到某个变量,然后用变量替换代码块中的值。在代码块的结尾清空变量,继续下一次循环。反复的读取Excel、赋值变量、执行代码段,直到Excel中的数据行全部读取完毕。

太详细的代码需要理解,都是这个套路就是了,代码中一撇(一半单引号)是注释,注释这一行的内容不会执行(字母REM开头的行也是注释)。

‘—–1.读取Excel并赋值到变量

我们Excel有7列,所以定义7个字段(字段名随意,但为了方便管理,我用COL1~COL7这样按顺序编)取值.

REM ADDED BY EXCEL *************************************

Dim objExcel

Dim objSheet, intRow, i

Set objExcel = GetObject(,”Excel.Application”)

Set objSheet = objExcel.ActiveWorkbook.ActiveSheet

For i = 2 to objSheet.UsedRange.Rows.Count ‘从第二行开始读数据,如果数据不在第二行修改参数就好

COL1 = Trim(CStr(objSheet.Cells(i, 1).Value)) ‘用户ID,第一列

COL2 = Trim(CStr(objSheet.Cells(i, 2).Value)) ‘用户昵称

COL3 = Trim(CStr(objSheet.Cells(i, 3).Value)) ‘初始密码

COL4 = Trim(CStr(objSheet.Cells(i, 4).Value)) ‘打印机

COL5 = Trim(CStr(objSheet.Cells(i, 5).Value)) ‘立刻打印标识

COL6 = Trim(CStr(objSheet.Cells(i, 6).Value)) ‘输出后删除假脱机标识

COL7 = Trim(CStr(objSheet.Cells(i, 7).Value)) ‘权限参数文件

REM ADDED BY EXCEL *************************************

‘—–2.用变量替换代码块中的字段值并执行代码段.

注意了,这里由于是直接用变量替换的,因此需要连变量外面的双引号也一起替换掉,这与邮件合并稍微有点不同,邮件合并是只合并双引号里的内容。

session.findById(“wnd[0]/tbar[0]/okcd”).text = “su01”

session.findById(“wnd[0]”).sendVKey 0

session.findById(“wnd[0]/usr/ctxtSUID_ST_BNAME-BNAME”).text = COL1

session.findById(“wnd[0]/usr/ctxtSUID_ST_BNAME-BNAME”).caretPosition = 7

session.findById(“wnd[0]/tbar[1]/btn[8]”).press

session.findById(“wnd[0]/usr/tabsTABS

剩余70%内容付费后可查看

You may also like...