判断树节点是否存在
Determine if tree node exists
我正在创建一个宏,在某些时候它必须浏览 SAP 中的一些文件夹和子文件夹(带有子节点的树节点)
主文件夹在以下代码中展开:
session.findById("wnd[0]/shellcont/shell").expandNode "2**000001"
我要查找的子文件夹如下:
session.findById("wnd[0]/shellcont/shell").selectedNode = "251000001"
但是这个子文件夹可能不存在。
我想添加一个 IF
语句来检查它是否存在或获取子文件夹列表并查找包含文本 "Status 51".[=14 的方法=]
我可以识别一个 GuiTree
控件,它是类型 2(列树)。
要确定给定节点是否存在,如果您知道它的键,则可以使用以这种方式调用的以下函数:If TreeNodeExistsByKey(session.findById("wnd[0]/shellcont/shell"),"251000001") Then
...
Function TreeNodeExistsByKey(tree,nodekey)
On Error Resume Next
tree.GetHierarchyLevel(nodekey)
If Err.Number = 0 Then
result = True
Else
result = False
End If
TreeNodeExistsByKey = result
End Function
获取并迭代给定节点的子节点:
Set tree = session.findById("wnd[0]/shellcont/shell")
Set coll = tree.GetAllNodeKeys()
For i = 0 to coll.Length - 1
nodekey = coll.ElementAt(i)
Next
要通过键获取节点的文本,请使用方法 GetNodeTextByKey
:
nodeText = tree.GetNodeTextByKey(nodeKey)
我正在创建一个宏,在某些时候它必须浏览 SAP 中的一些文件夹和子文件夹(带有子节点的树节点)
主文件夹在以下代码中展开:
session.findById("wnd[0]/shellcont/shell").expandNode "2**000001"
我要查找的子文件夹如下:
session.findById("wnd[0]/shellcont/shell").selectedNode = "251000001"
但是这个子文件夹可能不存在。
我想添加一个 IF
语句来检查它是否存在或获取子文件夹列表并查找包含文本 "Status 51".[=14 的方法=]
我可以识别一个 GuiTree
控件,它是类型 2(列树)。
要确定给定节点是否存在,如果您知道它的键,则可以使用以这种方式调用的以下函数:If TreeNodeExistsByKey(session.findById("wnd[0]/shellcont/shell"),"251000001") Then
...
Function TreeNodeExistsByKey(tree,nodekey)
On Error Resume Next
tree.GetHierarchyLevel(nodekey)
If Err.Number = 0 Then
result = True
Else
result = False
End If
TreeNodeExistsByKey = result
End Function
获取并迭代给定节点的子节点:
Set tree = session.findById("wnd[0]/shellcont/shell")
Set coll = tree.GetAllNodeKeys()
For i = 0 to coll.Length - 1
nodekey = coll.ElementAt(i)
Next
要通过键获取节点的文本,请使用方法 GetNodeTextByKey
:
nodeText = tree.GetNodeTextByKey(nodeKey)