点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的用户
我刚刚遇到了一个使我陷入停顿的情况。
我想从自定义SAP tcode中钻取数据。 我无法解决的问题:在子子屏幕上,有一个包含项目的日志列表。 我想从列表中选择最后一个,但是无法获取行号或单元格内容来定位所需的单元格并双击。
我的代码:
设置GRID1 = session.findById(" wnd [0]/usr/cntlGRID1/shellcont/shell") GRID1Rows = GRID1.RowCount-1 对于i = 0到GRID1Rows PONrSAP = GRID1.getcellvalue(i," EBELN") GRID1.setCurrentCell i," SLGREF" GRID1.clickCurrentCell '我们现在进入项目的处理日志。 设置GRID3 = session.findById(" wnd [0]/usr/subSUBSCREEN:SAPLSBAL_DISPLAY:0101/cntlSAPLSBAL_DISPLAY_CONTAINER/shellcont/shell/shellcont [0]/shell") '这是问题所在。 我只能对脚本记录中的内容进行硬编码,但是 "如果列出了多个日志结果,则我无法找到列表中的最后一项。 '这是列表中的第一个,如果项目仅被处理过一次,则可以: GRID3.selectItem" 1 1"," 101" '这是该项目经过多次处理的示例,所以这是我要双击的实际处理结果: 'GRID3.selectItem" 1 4"," 101" "我继续第1号线,如您在屏幕截图上所见。 GRID3.ensureVisibleHorizontalItem" 1 1"," 101" GRID3.doubleClickItem" 1 1"," 101" 从这一点来看,一切都很好。 '(这里还有更多代码) 接下来我
如您所见,我能够在GRID1.RowCount中应用RowCount方法。 但是如果是GRID3,它会返回一条错误消息:"对象不支持此属性或方法"(我已经从代码中将其删除了。)
谢谢大家的任何暗示!
拉斯洛
row-number-fetching-case-vba-scripting-on-sap.jpg 一个> (365.8 kB)
Laszlo,你好
所描述的问题使我个人感兴趣,因此,我在这里提供可以测试的建议。
对象GRID3本质上不是网格,而是树。 ;-)
此致
ScriptMan
嗨,ScriptMan,
伟大的工作,非常感谢! 我将其调整为仅捕获最后一个节点(由于日志报告的性质,我总是只需要最后一个节点,因为其他报告是来自其他失败作业的历史日志),它完全符合我的逻辑并达到了目的。 >
该站点对理解逻辑也有很大帮助,我刚刚在您的另一条评论中找到了它。 谢谢您的分享,帮助了我很多,使我理解了很多逻辑-我将其重新发布在您的功劳上,而不是我的,我也将其作为其他在这个特殊主题上苦苦挣扎的用户的有用参考:
http://www.advancedqtp.com/old_forums/viewtopic。 php?t = 3502&p = 13168
是的,对于GRID3-绝对正确,我的错:-)已经重命名为更匹配的对象名称。
Laszlo祝你有美好的一天
一周热门 更多>