我需要在 SAP 中读取下面 Variant 表的最后一行的特定列值。当我记录脚本以浏览表的行时,我得到以下几行。我需要提取特定的单元格值。手动,我可以将行的内容复制并粘贴到记事本。但是,我无法弄清楚如何读取特定列或整行的内容。
我一直在尝试不同的方法:
session.findById("wnd[0]/usr/subTABSTRIP:SAPLATAB:0100/tabsTABSTRIP100/tabpTAB06/" _
& "ssubSUBSC:SAPLATAB:0201/subAREA1:SAPLAIA1:0304/subSUB:SAPLAIA1:0308/" _
& "subTREE:SAPLAIA1:0306/cntlVARI_CANVAS/shell").selectedNode = "0001"
session.findById("wnd[0]/usr/subTABSTRIP:SAPLATAB:0100/tabsTABSTRIP100/tabpTAB06/" _
& "ssubSUBSC:SAPLATAB:0201/subAREA1:SAPLAIA1:0304/subSUB:SAPLAIA1:0308/" _
& "subTREE:SAPLAIA1:0306/cntlVARI_CANVAS/shell").selectedNode = "0002"
这些是我使用向下箭头键向下移动时生成的行。但是我怎样才能得到行的内容呢?
最佳答案
这是一个 GuiTree
对象,更具体地说是“列树”类型之一。
在您的情况下,这将是:
set tree = session.findById("wnd[0]/usr/subTABSTRIP:SAPLATAB:0100/tabsTABSTRIP100/tabpTAB06/" _
& "ssubSUBSC:SAPLATAB:0201/subAREA1:SAPLAIA1:0304/subSUB:SAPLAIA1:0308/" _
& "subTREE:SAPLAIA1:0306/cntlVARI_CANVAS/shell")
属性(property)
SelectedNode
给出一个字符串,它是当前选择的节点的键(“节点”是树的一行):nodeKey = tree.SelectedNode
从那里,您可以使用方法
GetNodeText
访问节点文本。 :nodeText = tree.GetNodeText( nodekey )
使用方法
GetItemText
获取单元格的文本(“项目”是树的行和列交叉处的单元格,不包括包含层次结构的左列):itemText = tree.GetItemText( nodeKey, columnName )`
列名使用方法
GetColumnNames
获得:set columnNames = tree.GetColumnNames()`
列名是 GuiComponentCollection对象,您可以按如下方式循环其元素:
for i = 0 to columnNames.Length - 1
colunmName = columnNames.ElementAt(i)
next
关于vbscript - 如何使用 GUI 脚本读取 GuiTree 控件的行详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59820810/