Try code like the following in the userform that contains the TreeView:
Private Sub CommandButton1_Click()
Dim TopFolderStr As String
Dim TopFolder As Scripting.Folder
Dim FSO As Scripting.FileSystemObject
Dim TopNode As Node
TopFolderStr = "C:\TopLevelFolder"
Set FSO = New Scripting.FileSystemObject
Set TopFolder = FSO.GetFolder(TopFolderStr)
Set TopNode = UserForm1.TreeView1.Nodes.Add(Text:=TopFolder.Name)
DoFolder FSO, UserForm1.TreeView1, TopFolder, TopNode
End Sub
Private Sub DoFolder(FSO As Scripting.FileSystemObject, _
TVX As TreeView, WhatFolder As Scripting.Folder, _
WhatFolderNode As Node)
Dim FF As Scripting.Folder
Dim F As Scripting.File
Dim FFNode As Node
Dim FNode As Node
Dim SubFF As Scripting.Folder
For Each FF In WhatFolder.SubFolders
Set FFNode = TVX.Nodes.Add(WhatFolderNode, tvwChild, , FF.Name)
For Each F In FF.Files
Set FNode = TVX.Nodes.Add(FFNode, tvwChild, , F.Name)
Next F
For Each SubFF In WhatFolder.SubFolders
DoFolder FSO, TVX, FF, FFNode
Next SubFF
Next FF
End Sub
--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)