循环访问SAP中的表会返回错误

时间:2018-08-27 15:56:59

标签: vba sap

我正在从Excel中运行脚本,并且想遍历表中的行以便获取表中每一行的值。这是我基本上需要做的:

1。转到包含SAP表的页面

  1. 双击一行,使我进入一个窗口,其中包含我需要复制并插入电子表格中的值。

  2. 以相同的方式遍历整个表并在SAP中重复一个过程。

所附图片显示了我正在使用的表格。我不确定其中哪个是可以声明为对象的真实表。我试图运行代码,但返回错误“对象不支持此属性或方法”(RowCount)

first type of object

second type of object

third type of object

Dim Table As Object
Dim rows As Long
Dim i As Long

Set Table = Session.FindById("wnd[0]/usr/cntlUSAGE_TREE_CONTAINER/shellcont/shell/shellcont[1]/shell[1]")
rows = Table.RowCount - 1

For i = 0 To rows
Session.FindById("wnd[0]/usr/cntlUSAGE_TREE_CONTAINER/shellcont/shell/shellcont[1]/shell").selectedNode = "          i"
Session.FindById("wnd[0]/usr/cntlUSAGE_TREE_CONTAINER/shellcont/shell/shellcont[1]/shell").doubleClickNode "          i"

Next i

1 个答案:

答案 0 :(得分:0)

我认为所附图片包含以下内容:

  1. 网格

程序示例指向一棵树。可能的解决方案之一可能是这样:

Set myTree = Session.FindById("wnd[0]/usr/cntlUSAGE_TREE_CONTAINER/shellcont/shell/shellcont[1]/shell[1]")
rowCount = myTree.GetColumnCol(myTree.GetColumnNames.item(0)).length
rows = rowCount - 1

For i = 0 To rows
 myTree.selectedNode right("          " + CStr(i),11)
 myTree.doubleClickNode right("          " + CStr(i),11)
Next i

关于, 脚本人