在VBA树视图用户窗体中,如何通过密钥或其他任何方式判断节点是否存在?
有没有一种好方法可以查看节点是否存在?
Public Sub Test
Dim thisNode as New Node
' Determine if node exists
If tvNodeExample.Nodes.Item("TestKey") is Nothing Then
msgbox "Node Does Not Exist"
Else
Set thisNode = tvNodeExample.Nodes.Item("TestKey")
End If
End Sub
答案 0 :(得分:3)
经过多次搜索,我发现对我来说是一个可以接受的答案,虽然我不喜欢这个实现。根据键设置节点对象时,如果该节点不存在,则会收到错误号35601.因此,以下代码可以正常工作。
Public Sub Test()
Dim thisNode as Node
' Determine if node exists
' Disable error handling temporairily
On Error Resume Next
Set thisNode = tvNodeExample.Nodes.Item("testKey")
If Err.Number = 35601 Then
On Error Goto ErrorHandler
' Create the node
Set thisNode = tvNodeExample.Add(, tvwFirst, "testKey", "test Description")
End If
On Error Goto ErrorHandler
' Do Stuff
End Sub