点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我正在尝试使用Excel自动执行一些SAP操作。
我从SAP录制了一些脚本,但效果很好,在定位正确的RowID之后,我在选择CS02中的活动行时只有一个问题。
记录结果:
session.findById(" wnd [0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT")。getAbsoluteRow(39).selected = true
但是我不知道带有AbsoluteRow数字的行,因为我不知道该数字。
有什么主意如何选择整行以便可以将其删除?
谢谢。
丹尼尔,你好
我尝试过,但是我没有用:(
但是,与此同时,我尝试了其他一些可能的策略,并最终使它按我的意愿工作。
前3行位于我要查找的行上。
然后获取"垂直"滚动条位置。
在该值上加1(即,向下滚动一行,使要选择的行位于可见窗口的外面
然后按F9键选择行(由于某些原因,选定的行是可见窗口之外,顶部可见行上方的行)
然后3行删除我想要的所选行。
问题已通过此解决方案解决。
感谢所有尝试提供帮助的人。
很高兴您能够按照自己的方式工作。 尽管如此,我还是在CS02中测试了Stefans的建议
可正常使用。 如果您在可见行中找不到它并且必须向下翻页,那么只会有其他逻辑。
显然用您选择的单元格替换txtRC29P-POSNR。
你好Wim,
欢迎使用SAP社区。 p>
我不确定我是否正确理解了您的问题。 我将遍历表控件以通过其描述获取正确的条目并选择它。
让我们知道您的结果。
干杯
Stefan
我认为Stefan为您的问题陈述提供了可靠的解决方案。
在您的脚本中,您有tblSAPLCSDITCMAT。 Stefan提供了一个引用tblSAPMBIBSTC537的代码段
根据要执行的测试,您将像Stefan一样进行循环,并且一旦找到满足测试条件的行,就可以选择绝对行i。
您只需要将测试映射到Stefan的模式即可。
您好Stefan,
谢谢您的帮助,但这不是我想要的。
CS02是物料清单。
我使用脚本来选择正确的"位置"。 代码,然后我要选择整行。
您可以通过单击其前面的灰色正方形来手动突出显示(选择)整行。 我想这样做,以便删除行。
还有其他想法吗?
谢谢
Wim
您好Stefan
我搜索了很长时间,如何在CS02中选择一个项目。
" getAbsoluteRow()。selected = true"和" VisibleRowCount"的问题是它无法正常工作,我不得不在错误恢复时使用 下一个'。 现在,使用菜单" edit \ Position"后,我可以找到行号。
您可以在字段RC29P-ENTAC上找到位置,例如选择pos。 305
session.findById(" wnd [0]/tbar [0]/okcd")。text ="/img/ncs02"
session.findById(" wnd [0]")。sendVKey 0
session。 findById(" wnd [0]/usr/ctxtRC29N-MATNR")。text ="材料编号"
session.findById(" wnd [0]/usr/ctxtRC29N-WERKS")。text ="工厂"
session.findById(" wnd [0]/usr/ctxtRC29N-STLAN")。text =" 1"
session.findById(" wnd [0]/tbar [1]/btn [5]")。press
session.findById(" wnd [0]/mbar/menu [1]/menu [11]")。select
session.findById(" wnd [1]/usr/subPOS_SETP:SAPLCSDI:0710/txtRC29P -SELPO")。text =" 0305"
session.findById(" wnd [1]/tbar [0]/btn [0]")。press
Pos_nb =(session.findById(" wnd [0 ]/usr/txtRC29P-ENTAC")。text)
session.findById(" wnd [0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT")。getAbsoluteRow(Pos_nb-1).selected = 是
最诚挚的问候
Jean-Luc
一周热门 更多>