GetColumnposition()

2020-08-21 02:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我如何使用Getcolu...

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

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


你好

我如何使用Getcolumnposition()? 我是GUI脚本的新手,它在下面的第二行显示错误。

设置GRID = session.findById(" wnd [0]/usr/ssubITEMS:SAPLFSKB:0100/tblSAPLFSKBTABLE")

MsgBox GRID.GetColumnPosition(" ctxtACGL_ITEM-HKONT")

谢谢

Rekha

(39.5 kB)
4条回答
灬番茄
2020-08-21 03:20 .采纳回答

对于GuiTableControls,我使用了以下内容:

 tGuiTableControl ="表名"

 设置为tobj = Session.FindById(tGuiTableControl)
 设置tObjChild = tobj.Children
 '找出定义了多少列。
 tDataColumns = tobj.Columns.Count
 '检查可见行
 tVisiblerows = tobj.VisibleRowCount

 '循环所有的东西

         对于tObjRow = tObjRow + notInitialLoop到toRow
             对于tObjCol = 1 Tobj.Columns.Count
                     如果tDataLoopRow> UBound(inp.DataBodyRange.Value,1)然后
                         tDataFinished =" X"
                         退出做
                     万一
                     如果tObjChild.Item(tObjItemNum + 0).Changeable = False,则
                         '可见列,不希望输入数据。
                     ElseIf tObjChild.Item(tObjItemNum + 0).Type =" GuiCTextField"或tObjChild.Item(tObjItemNum + 0).Type =" GuiTextField"然后
                         如果IsDate(inp.DataBodyRange(tDataLoopRow,tDataLoopColumn))= True和Len(inp.DataBodyRange(tDataLoopRow,tDataLoopColumn))> 5然后
                             如果inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)<=#12/31/1899#那么由于Lotus 1-2-3,'excel过去的日期很奇怪
                                 tObjChild.Item(tObjItemNum + 0).text = DateConvert(inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)+ 1,"。")
                             其他:
                                 tObjChild.Item(tObjItemNum + 0).text = DateConvert(inp.DataBodyRange(tDataLoopRow,tDataLoopColumn),"。")
                             万一
                         其他:
                             tObjChild.Item(tObjItemNum + 0).text = inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)
                         万一
                     ElseIf tObjChild.Item(tObjItemNum + 0).Type =" GuiComboBox"然后
                         tObjChild.Item(tObjItemNum + 0).Key = inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)
                        
                     ElseIf tObjChild.Item(tObjItemNum + 0).Type =" GuiCheckBox"然后
                         如果inp.DataBodyRange(tDataLoopRow,tDataLoopColumn)=""然后
                             tObjChild.Item(tObjItemNum + 0).Selected = False
                         其他:
                             tObjChild.Item(tObjItemNum + 0).Selected = True
                         万一
                     其他:
                         '其他条件
                     万一
                
                 如果inp.DataBodyRange(tDataLoopRow,1)=""然后
                     tDataFinished =" X"
                     退出做
                 万一
               
                 tObjItemNum = tObjItemNum + tVisiblerows
                 tDataLoopColumn = tDataLoopColumn + 1
             下一个tObjCol

             tDataLoopRow = tDataLoopRow + 1
             tDataLoopColumn = 1
             tObjItemNum = tObjRow
         下一个tObjRow
 

是所有伪代码,但希望这可以帮助您指出正确的方向。 我一直打算整理一下并在很长一段时间内将其进一步推广,但它还不足以保证进行优化;)

一周热门 更多>