1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Dim tw As MSComctlLib.TreeView, fs
Private Sub UserForm_Initialize()
pere = ChoixDossier ' ou "C:\xxxxxx"
If pere = "C:\" Then Stop
Set tw = Me.MonArbre
p = InStrRev(pere, "\"): tmp = Mid(pere, p + 1)
tw.Nodes.Add(, , "NoeudMat" & pere, tmp).Expanded = True ' Racine arbre
Set fs = CreateObject("Scripting.FileSystemObject")
Set dossier_racine = fs.getfolder(pere)
Lit_dossier dossier_racine, 1
End Sub
Sub Lit_dossier(ByRef dossier, ByVal niv)
pere = dossier.Path
For Each d In dossier.SubFolders
fils = d.Path
p = InStrRev(fils, "\"): tmp = Mid(fils, p + 1)
tw.Nodes.Add("NoeudMat" & pere, tvwChild, "NoeudMat" & d.Path, tmp).Expanded = True
Lit_dossier d, niv + 1
Next
End Sub
Private Sub MonArbre_NodeClick(ByVal Node As MSComctlLib.Node)
If Left(Node.Key, 8) = "NoeudMat" Then
Me.Textbox1 = Mid(Node.Key, 9)
rép = Me.Textbox1
Me.ListBox1.Clear
nf = Dir(rép & "\*.*")
n = 0
Do While nf <> ""
Me.ListBox1.AddItem nf
Me.ListBox1.List(n, 1) = rép
n = n + 1
nf = Dir
Loop
Me.Textbox2 = n
End If
End Sub |
Partager