Je pars du même constat que Jack a fait concernant sa source "REMPLACER DIR PAR UNE CLASSE DIR2 (AVANTAGES) "
http://www.vbfrance.com/code.aspx?ID=37859
Ce constat est le suivant:
Dir est rapide est simple à mettre en place pour énumérer une liste de fichiers / dossiers.
néanmoins, il ne peut être utiliser en récursion. Pas possible, donc, de lister facilement une arborescence.
FSO permet lui de lister toute une arborescence, mais est à proscrire dans vos programme, laissez le dans les Scripts, il a été
conçu pour ça. Et pour cause ! il est extrêmement lent...
Il s'agit d'une simple classe, qui permet de lister facilement et rapidement vos Fichier/Dossiers, comme le fais Dir
J'ai donc grandement remanié le code de Jack, que je vous poste maintenant.
Outre la manière de se servir de ma classe qui diffère de celle de Jack, j'ai ajouté la possibilité d'accéder aux dates et a la taille du fichier
Source / Exemple :
'# Son utilisation est fort simple :
Dim oItems As CDir
Set oItems = New CDir
oItems.Initialize "C:\MonDossier\" '# Par défault, fichiers et dossiers vont être listés
'# On boucle, tant qu'on n'est pas a la fin de la liste.
Do Until oItems.EOF
'# Si l'element en cours est un dossier ...
If CBool(oItems.Attributes And vbDirectory) Then
'# Pour l'exemple, on créé un noeud avec le dossier. la clé est le chemin complet vers
'# le dossier. le texte du noeud est son nom
Set oNode = CcTree.Nodes.Add(voParent, tvwChild, oItems.FullPath, oItems.Name)
FillList oItems.FullPath & "\", oNode
Else
'# Ici, pour l'exemple, on ajoute le fichier dans une liste.
'# On peut acceder a la date de creation/modification/accès du fichier
'# (plus rapide que de faire un appel séparé à FileLen ou FileDateTime)
AddFile oItems.FullPath, oItems.FileSize, oItems.LastWriteDate
End If
'# On passe a l'element suivant
oItems.MoveNext
Loop
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.