Vbscript 如何使用GUI脚本读取GuitTree控件的行详细信息

Vbscript 如何使用GUI脚本读取GuitTree控件的行详细信息,vbscript,automation,sap,rpa,Vbscript,Automation,Sap,Rpa,我需要在SAP中读取下面变量表最后一行的特定列值。当我记录脚本以浏览表中的行时,我会看到下面的行。我需要提取特定的单元格值。我可以手动将行的内容复制并粘贴到记事本。但是,我无法理解如何读取特定列或整行的内容 我一直在尝试不同的方法: session.findById("wnd[0]/usr/subTABSTRIP:SAPLATAB:0100/tabsTABSTRIP100/tabpTAB06/" _ & "ssubSUBSC:SAPLATAB:0201/subAREA1:SAPL

我需要在SAP中读取下面变量表最后一行的特定列值。当我记录脚本以浏览表中的行时,我会看到下面的行。我需要提取特定的单元格值。我可以手动将行的内容复制并粘贴到记事本。但是,我无法理解如何读取特定列或整行的内容

我一直在尝试不同的方法:

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"
这些是使用向下箭头键向下移动行时生成的行。但是我怎样才能得到行的内容呢

这是一个对象,更确切地说是“列树”类型的对象

在您的情况下,这将是:

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")
属性
SelectedNode
给出一个字符串,该字符串是当前所选节点的键(“节点”表示树的一行):

从那里,您可以使用方法
GetNodeText
访问节点文本:

nodeText = tree.GetNodeText( nodekey )
单元格的文本通过方法
GetItemText
获得(“项”是树的行和列的交点处的单元格,不包括包含层次结构的左列):

列名是通过方法
GetColumnNames
获得的:

set columnNames = tree.GetColumnNames()`
如果列名是一个对象,可以按如下方式循环其元素:

for i = 0 to columnNames.Length - 1
  colunmName = columnNames.ElementAt(i)
next
set columnNames = tree.GetColumnNames()`
for i = 0 to columnNames.Length - 1
  colunmName = columnNames.ElementAt(i)
next