问题描述
我正在使用SAP GUI脚本记录器来记录以下步骤:
- 输入事务“ / oTableA”
- 按Enter键转到“ TableA”
- 按“获取变体形式”
- 选择“ Layout0”
- 按“执行”
- 导出到Excel等
但是无论如何,我尝试了几次。记录脚本仅捕获从步骤1)到步骤2)的内容,从步骤3)到结束都没有记录任何内容。
这是步骤1)到步骤2)的脚本部分
If Not IsObject(application) Then
Set SapGuiAuto = Getobject("SAPGUI")
Set application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
Set connection = application.Children(0)
End If
If Not IsObject(session) Then
Set session = connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session,"on"
WScript.ConnectObject application,"on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "/oTableA"
session.findById("wnd[0]").sendVKey 0
我试图记录从TableA屏幕(在步骤2之后)从步骤3到步骤5的脚本部分:
If Not IsObject(application) Then
....Same as prevIoUs
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[1]/btn[17]").press
session.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").selectedRows = "0"
session.findById("wnd[1]/tbar[0]/btn[2]").press
我尝试将脚本的两个部分串联起来:
If Not IsObject(application) Then
...same as prevIoUs
End If
# step 1-2
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "/oTableA"
session.findById("wnd[0]").sendVKey 0
# step 3-5
session.findById("wnd[0]/tbar[1]/btn[17]").press **-This is Line 18**
session.findById("wnd[1]/usr/cntlALV_CONTAINER_1/shellcont/shell").selectedRows = "0"
session.findById("wnd[1]/tbar[0]/btn[2]").press
Error Message 该脚本在第18行上引发错误。我能知道为什么吗,因为相同的脚本可以分别执行步骤3-步骤5,但是在将其与步骤1到步骤2连接时却无法正常工作。或者我应该进行哪种更改? ?
非常感谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)