Have you ever wanted to add nodes to a TreeView control using a full path instead of adding a node at a time? You can do it with this code:
Public Sub AddPathToTree(Tree As TreeView, Path As String) Dim PathItem As String Dim NewItem As String Dim PathLen As Integer Dim c As String * 1 Dim i As Integer 'ADD A BACKSLASH AS A TERMINATOR If Right$(Path, 1) <> "" Then Path = Path & "" PathLen = Len(Path) 'RUN THROUGH THE PATH LOOKING FOR BACKSLASHES For i = 1 To PathLen c = Mid$(Path, i, 1) If c = "" Then If PathItem = "" Then 'ADD THE ROOT ITEM TO THE TREE On Error Resume Next Tree.Nodes.Add , , "" & NewItem, NewItem PathItem = "" & NewItem Else 'ADD THE NEXT CHILD TO THE TREE Tree.Nodes.Add PathItem, tvwChild, PathItem _ & "" & NewItem, NewItem PathItem = PathItem & "" & NewItem End If NewItem = ""100 Else NewItem = NewItem & c End If Next iEnd Sub
Simply call this routine passing the TreeView control and the full path as parameters. All the necessary nodes will be added if they don’t already exist:
AddPathToTree TreeView1, _ "RootLevelChild1Child2Child3Child4"