用于大规模角色分配的SAP GUI脚本

2020-08-21 10:29发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我尝试将运行脚本分配给以...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我尝试将运行脚本分配给以下角色,但没有任何反应。 我从博客获取脚本 https://blogs.sap.com/2019/07/02/vb-scriptsap-gui-script-for-mass-role-assignment/

感谢SAP社区的帮助来修复脚本。

注意:我使用的是CUA,不会直接更改ECC。

如果不是IsObject(application),则
    设置SapGuiAuto = GetObject(" SAPGUI")
    设置应用程序= SapGuiAuto.GetScriptingEngine
 万一
 如果不是IsObject(connection)然后
    设置连接= application.Children(0)
 万一
 如果不是IsObject(session)然后
    设置会话= connection.Children(int(session_))
 万一
 如果IsObject(WScript)然后
    WScript.ConnectObject会话,"打开"
    WScript.ConnectObject应用程序,"打开"
 万一

 Dim cnnExcel,rstExcel

 昏暗的strExcelFile
 strExcelFile =" H:\ MoveToCognizant \ Nizar Backup \ My Work Tools \ 02。 利润中心分配\ SAP脚本-质量角色分配.xls"

 设置cnnExcel = CreateObject(" ADODB.Connection")
     cnnExcel.Open"提供程序= Microsoft.Jet.OLEDB.4.0;"  &"数据源="&strExcelFile&";"  &_
                "扩展属性="" Excel 8.0; HDR =否;"""

 设置rstExcel = CreateObject(" ADODB.Recordset")
     rstExcel.Open"从[Sheet1 $ A1:G1000]中选择*",cnnExcel,adOpenStatic

 session.findById(" wnd [0]")。maximize

 rstExcel.movenext

 直到rstExcel.EOF或UCASE(rstExcel.Fields(0).Value)=" LAST"

 session.findById(" wnd [0]")。maximize
 session.findById(" wnd [0]/tbar [0]/okcd")。text =" SU10"
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/usr/tblSAPLSUID_MAINTENANCETC_USERS/ctxtSUID_ST_BNAME-BNAME [0,0]")。text = rstExcel.Fields(0).Value

 session.findById(" wnd [0]/usr/tblSAPLSUID_MAINTENANCETC_USERS/ctxtSUID_ST_BNAME-BNAME [0,0]")。caretPosition = 7
 session.findById(" wnd [0]")。sendVKey 0
 session.findById(" wnd [0]/tbar [1]/btn [18]")。按
 session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpACTG")。select

 session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpACTG/ssubMAINAREA:SAPLSUID_MAINTENANCE:1106/cntlG_ROLES_CONTAINER/shellcont/shell")。modifyCell 0," AGR_NAME",rstExcel.Fields(1).Value

 session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpACTG/ssubMAINAREA:SAPLSUID_MAINTENANCE:1106/cntlG_ROLES_CONTAINER/shellcont/shell")。currentCellColumn =" AGR_NAME"
 session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpACTG/ssubMAINAREA:SAPLSUID_MAINTENANCE:1106/cntlG_ROLES_CONTAINER/shellcont/shell")。按Enter
 session.findById(" wnd [0]/tbar [0]/btn [11]")。按
 session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/nsu10"
 session.findById(" wnd [0]")。sendVKey 0

 rstExcel.movenext
   如果rstExcel.EOF然后退出
 循环

 rstExcel。关闭
     设置rstExcel = Nothing
 cnnExcel。关闭
     设置cnnExcel = Nothing