Exploreur simple et rapide (f.s.o.)

Description

Je sais, source très classique, mais j'en ai pas vu de simple, juste avec des objets FSO qui sont la pour ça.
N'utilise donc pas findClose...les types W...

Donc code - long = + facile à comprendre !

Source / Exemple :


Option Explicit

Dim fso As FileSystemObject

Private Sub Form_Load()
Set fso = New FileSystemObject
Call tree.Nodes.Add(, , "C:\", "C:\", "chef")
tree.Nodes.Add "C:\", tvwChild
End Sub

Private Sub init(initChemin As String)
Dim fichier As String
Dim rep As Folder

For Each rep In fso.GetFolder(initChemin).SubFolders 'on boucle tout le dossier contenu dans initChemin
    Call tree.Nodes.Add(initChemin, tvwChild, initChemin & rep.Name & "\", rep.Name, "rep") 'on ajoute les dossier
    If fso.GetFolder(initChemin & rep.Name).SubFolders.Count + fso.GetFolder(initChemin & rep.Name).Files.Count > 0 Then
       tree.Nodes.Add initChemin & rep.Name & "\", tvwChild 'node factice si il y a un dossier ou un fichier
    End If
    DoEvents
Next
End Sub

Private Sub tree_Expand(ByVal Node As MSComctlLib.Node)
Dim i As Integer
For i = 0 To Node.Children - 1 'on vire le node fictif et l'ancienne recherche >>> actualisation automatique
    tree.Nodes.Remove Node.Child.Index
Next i
Call init(Node.Key) ' dossier
Call ajoutFichier(Node) ' fichier
End Sub
Private Sub ajoutFichier(ByVal Node As MSComctlLib.Node)
Dim fichier As File
For Each fichier In fso.GetFolder(Node.Key & "\").Files
    Call tree.Nodes.Add(Node.Key, tvwChild, Node.Key & "\" & fichier.Name, fichier.Name, "htm")
    DoEvents
Next
End Sub

Private Sub tree_NodeClick(ByVal Node As MSComctlLib.Node)
On Error Resume Next
If Node.Image = "rep" Then
    Label2.Caption = CStr(fso.GetFolder(Node.Key).Size) & " octets"
    Label4.Caption = CStr(fso.GetFolder(Node.Key).DateCreated)
Else
    Label2.Caption = CStr(fso.GetFile(Node.Key).Size) & " octets"
    Label4.Caption = CStr(fso.GetFile(Node.Key).DateCreated)
End If
End Sub

Conclusion :


Et en plus on peut afficher toutes les info nécessaires sans aucune difficultés

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.