我正在尝试编写一个功能,将BOM从旧零件复制到新零件,只更改材料数量。为此,我需要知道每个特定BOM中有多少材料行,这些材料根据零件而变化。当我在SAP中使用脚本记录器时,它似乎引用了相对于屏幕顶部的每行 。第一行是0,第二行是1,依此类推。如果我向下滚动,则会有一个新的0行。有没有更简单的方法来查找有多少行包含数据?
示例行0 WND [0]的/ usr / tabsTS_ITOV / tabpTCMA / ssubSUBPAGE:SAPLCSDI:0152 / tblSAPLCSDITCMAT / txtRC29P,门奇[4,0]
example of such a BOM如果要继续滚动,还有其他行。
答案 0 :(得分:0)
SAPsession.findById("wnd[0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT").rowcount
将为您提供子页面上的行数。然后你只需要遍历它们。
在VBA中,类似于:
allrows = SAPsession.findById ("wnd0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT").rowcount
For row = 0 to allrows
product = session.findById("wnd0]/usr/tabsTS_ITOV/tabpTCMA/ssubSUBPAGE:SAPLCSDI:0152/tblSAPLCSDITCMAT/ctxtRC29P-IDNRK[4," & row & "]").Text
next row