如何在SAP表中获取正确的行数?

2020-08-16 19:37发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我一直在努力使订单中的...

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

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


你好

我一直在努力使订单中的行数正确。 有时我可以放入1到50个物品。 我只能得到包括所有行的行数,并且只有在屏幕上可以看到的可见行数。

是否有任何方法可以识别其中包含数据的许多行? 以下是参考文献

TotalRow = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT \ 01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG">。

VisibleRow = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT \ 01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG 可见。

BR,

Gedis

4条回答
木偶小白
2020-08-16 20:06

我一直在尝试使用我所拥有的代码。 我发现在最后一个可见项目不为空的情况下循环滚动的解决方法,然后继续循环滚动1行,直到保持计数为空为止。 有点慢,但是可以完成工作。 我想知道是否有没有更简单的方法无需遍历项目。

这是我使用的代码(是否有格式来引用代码?)

如果不是IsObject(应用程序),则
设置SapGuiAuto = GetObject(" SAPGUISERVER")
设置应用程序= SapGuiAuto.GetScriptingEngine
如果,如果不是IsObject(连接),则结束,
设置 连接= application.Children(0)
如果不是IsObject(session),则结束

设置会话= connection.Children(0)
如果,如果是IsObject(WScript),则结束。 br> WScript.ConnectObject会话,在"上"
WScript.ConnectObject应用程序,在"上"
结束If
session.findById(" wnd [0]")。maximize

错误恢复下一个
dim itemInput
itemInput = 24
Dim TotScrol,TotScrolInt,RowScroll,Iterations,TotalRow,VisibleRow,runCount
TotalRow = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT \ 01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG")。rowCount
VisibleRow = session.findById/VIEW_SCR_T/EENTA/SYB/DYTA/DYTA/DYTA/SYB/SYB/SYB SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG")。visiblerowCount
'TotScrol = Totalrow/VisibleRow(旧滚动计数。问题totarow显示整行,而可见行显示全部可见行,包括空。无法仅计数) 项目)
TotScrol =(ItemInput(i)/VisibleRow)+0.0001
TotScrolInt = Int(TotScrol)'使滚动数为整数(无小数)
RowScroll = VisibleRow
Iterations = VisibleRow
Dim leftOver'-上次滚动后有多少行
leftOver = itemInput-(TotScrolInt)* VisibleRow
'MsgBo x(leftOver)
'MsgBox(TotalRow)
'MsgBox(VisibleRow)
'MsgBox(TotScrol)
'MsgBox(TotScrolint)
dim计数器,posNo,textCheck
Counter = 0 posNo = 0 。 br> visiblerow_check = visiblerow-1
textCheck = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT \ 01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATV_B-AP-TX_A_ERF "&visiblerow_check&"]")。text
msgbox(textcheck)
msgbox(visiblerow)
If textCheck <>""然后
执行
session.findById(" wnd [0] /usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT\01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG").verticalScrollbar.position = visiblerow
textCheck_VIEW_VIEWd_PsT_Ts_VIEW [VIEWD] \ 01/ssubSUBSCREEN_BO DY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG/txtVBAP-POSNR [0,"&visiblerow_check&"]")。text
Counter = Counter + 1
msgbox(textCheck)
visibleRow = visibleRow + visibleRow
msgbox(visiblerow)
msgbox(计数器)
循环直到textCheck =""
End If
VisibleRow = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT \ 01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG")。visiblerowCount
posNo = Counter * VisibleRow
msgbox(Counter)
msgbox(visiblerow)

执行
session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT \ 01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG
position.Checkical滚动。 = session.findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT \ 01/ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG/txtVBAP-POSNR [0,Count]。 r =计数器+ 1
posNo = posNo + 1
直到textCheck =""
posNo = posNo-1 findById(" wnd [0]/usr/tabsTAXI_TABSTRIP_OVERVIEW/tabpT \ 01 /ssubSUBSCREEN_BODY:SAPMV45A:4400/subSUBSCREEN_TC:SAPMV45A:4900/tblSAPMV45ATCTRL_U_ERF_AUFTRAG").verticalScrollbar.position = 0
msgbox(posNo)
msgbox(textCheck)

一周热门 更多>