XWinnieX
Messages postés71Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention20 septembre 2004
-
14 juin 2004 à 17:52
XWinnieX
Messages postés71Date d'inscriptionlundi 23 décembre 2002StatutMembreDernière intervention20 septembre 2004
-
15 juin 2004 à 15:32
J'aurai aimé connaitre l'api qui sert à rechercher un fichier à partir d'un dossier (Variable chemin)
pour pouvoir faire une liste des fichiers de ce dossier et de tout ceux contenus dans les sous dossiers
plaineR
Messages postés237Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention 6 décembre 20054 14 juin 2004 à 18:37
Il ne s'agit pas d'une API mais d'une fonction VB qui s'appelle DIR. Fais une recherche sur le site sur cette fonction et tu auras plein d'exemples pour voir comment elle fonctionne.
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200619 14 juin 2004 à 21:11
Salut les gars, entre nous l'instruction DIR c un peu ch.... à manipuler, surtout que ça bug souvent.
Pourquoi ne pas utiliser le FileSystemObject ?
Perso, je trouve que ça marche dans tous les cas qui m'intéressent et ça offre plus de possibilités et d'infos en moins de lignes de code, donc pourquoi s'en priver ?
G déjà livré ce code +sieurs fois ds le forum, va falloir que je fasse un tuto un jour, comme ça, il n'y aura plus cette question ou alors il suffira de donner l'adresse.
' Ds une form, un bouton (command1) et une listbox (list1)
'Sélectionner "Microsoft Scripting Runtime" dans Projet/Références
Private Sub Rechercher_Fichiers(Dossier As String)
Dim fso As FileSystemObject
Dim fld As Folder
Dim subfld As Folder
Dim fl As File
' Création du FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
' Set du dossier à parcourir
Set fld = fso.GetFolder(Dossier)
' Listage des fichiers du dossier
For Each fl In fld.Files
' si tu veux limiter à une extension ds ce cas .doc
If Right(fl.Name, 4) = ".doc" Then
List1.AddItem Dossier & fl.Name
End If
'sinon pour tous
List1.AddItem Dossier & fl.Name
Next
' Recherche récursive des fichiers dans les sous-dossiers
For Each subfld In fld.SubFolders
Rechercher_Fichiers Dossier & subfld.Name & ""
Next
set fso = nothing
End Sub
Private Sub Command1_Click()
Dim Dossier_Depart As String
Screen.MousePointer = vbHourglass
' Dossier de départ
Dossier_Depart = "C:" ' toujours terminer la chaine par un ""
' Rechercher les fichiers
Rechercher_Fichiers Dossier_Depart
Screen.MousePointer = vbDefault
MsgBox "Recherche terminée"
End Sub
Merci pour vos critiques que j'espère constructives