从Excel工作表读取SAP脚本记录并回放

2020-09-15 10:08发布

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

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


专家您好,

我目前正在尝试创建一个VBScript,可以随意更新复合角色列表

在pfcg中只有一个角色。

该列表应存储在仅包含一列的简单Excel工作表中

但是我最常用的脚本却收到错误消息"不允许的字符"

我在做什么错了?

亲切问候

当我尝试播放脚本时

如果不是IsObject(application),则
   设置SapGuiAuto = GetObject(" SAPGUI")
   设置应用程序= SapGuiAuto.GetScriptingEngine
 万一

 如果不是IsObject(connection)然后
   设置连接= application.Children(0)
 万一

 如果不是IsObject(session)然后
   设置会话= connection.Children(0)
 万一

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

 设置objExcel = GetObject(," Excel.Application")
 设置objSheet = objExcel.ActiveWorkbook.ActiveSheet

 对于i = 2到objSheet.UsedRange.Rows.Count
   COL1 = Trim(CStr(objSheet.Cells(i,1).Value))‘Column1
   session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/npfcg"
   session.findById(" wnd [0]")。sendVKey 0
   session.findById(" wnd [0]/usr/ctxtAGR_NAME_NEU")。text = COL1
   session.findById(" wnd [0]/usr/btn%#AUTOTEXT001")。press
   session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpTAB8")。select
   session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpTAB8/ssubSUB1:SAPLPRGN_TREE:0600/tblSAPLPRGN_TREECTRL_AGRLIST2/ctxtI_ACTGROUPS-AGR_NAME [0,0]")。text =" T:TEST:S"
   session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpTAB8/ssubSUB1:SAPLPRGN_TREE:0600/tblSAPLPRGN_TREECTRL_AGRLIST2/ctxtI_ACTGROUPS-AGR_NAME [0,0]")。setFocus
   session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpTAB8/ssubSUB1:SAPLPRGN_TREE:0600/tblSAPLPRGN_TREECTRL_AGRLIST2/ctxtI_ACTGROUPS-AGR_NAME [0,0]")。caretPosition = 8
   session.findById(" wnd [0]")。sendVKey 0
   session.findById(" wnd [0]/tbar [0]/btn [11]")。按
   aux = col1
   CreateObject(" WScript.Shell")。run(" cmd/c @echo%date%%time%"&aux&" >> C:\ Script \ PlOrCreationLog.txt")
 下一个
 msgbox"进程已完成"
 

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

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


专家您好,

我目前正在尝试创建一个VBScript,可以随意更新复合角色列表

在pfcg中只有一个角色。

该列表应存储在仅包含一列的简单Excel工作表中

但是我最常用的脚本却收到错误消息"不允许的字符"

我在做什么错了?

亲切问候

当我尝试播放脚本时

如果不是IsObject(application),则
   设置SapGuiAuto = GetObject(" SAPGUI")
   设置应用程序= SapGuiAuto.GetScriptingEngine
 万一

 如果不是IsObject(connection)然后
   设置连接= application.Children(0)
 万一

 如果不是IsObject(session)然后
   设置会话= connection.Children(0)
 万一

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

 设置objExcel = GetObject(," Excel.Application")
 设置objSheet = objExcel.ActiveWorkbook.ActiveSheet

 对于i = 2到objSheet.UsedRange.Rows.Count
   COL1 = Trim(CStr(objSheet.Cells(i,1).Value))‘Column1
   session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/npfcg"
   session.findById(" wnd [0]")。sendVKey 0
   session.findById(" wnd [0]/usr/ctxtAGR_NAME_NEU")。text = COL1
   session.findById(" wnd [0]/usr/btn%#AUTOTEXT001")。press
   session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpTAB8")。select
   session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpTAB8/ssubSUB1:SAPLPRGN_TREE:0600/tblSAPLPRGN_TREECTRL_AGRLIST2/ctxtI_ACTGROUPS-AGR_NAME [0,0]")。text =" T:TEST:S"
   session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpTAB8/ssubSUB1:SAPLPRGN_TREE:0600/tblSAPLPRGN_TREECTRL_AGRLIST2/ctxtI_ACTGROUPS-AGR_NAME [0,0]")。setFocus
   session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpTAB8/ssubSUB1:SAPLPRGN_TREE:0600/tblSAPLPRGN_TREECTRL_AGRLIST2/ctxtI_ACTGROUPS-AGR_NAME [0,0]")。caretPosition = 8
   session.findById(" wnd [0]")。sendVKey 0
   session.findById(" wnd [0]/tbar [0]/btn [11]")。按
   aux = col1
   CreateObject(" WScript.Shell")。run(" cmd/c @echo%date%%time%"&aux&" >> C:\ Script \ PlOrCreationLog.txt")
 下一个
 msgbox"进程已完成"
 
付费偷看设置
发送
3条回答
蓋茨
1楼 · 2020-09-15 10:49.采纳回答

你好列昂尼德,

据我所见,您使用例如 msgBox行中的引号不正常:

 msgbox"过程已完成" 

代替

 msgbox"过程已完成" 

您看到报价的区别了吗? 代替"您使用"和"。

这通常是复制和粘贴源代码的问题。

也在这一行

设置objExcel = GetObject(," Excel.Application")

那一行

 CreateObject(" WScript.Shell")。run(" cmd/c @echo%date%%time%"&aux&" >> C:\ Script \ PlOrCreationLog.txt")

也许这是错误的原因。 请更正该问题,让我们知道您的结果。

干杯
斯特凡

Aaron 3364
2楼-- · 2020-09-15 10:47

你好列昂尼德,

我已经重新格式化了您的代码。 但是,您能否再解释一下您的错误,您有发生错误的行号吗?

干杯
斯特凡

落灬小鱼
3楼-- · 2020-09-15 11:10

你好斯特凡,

您说对了! 好像我在记事本,记事本++和源代码之间复制和粘贴时弄乱了脚本文件的代码。

转换为UTF-8后,一切正常。

谢谢您

Leonid Glik

一周热门 更多>