APPLICATION.FILESEARCH non reconnue

panorama12 Messages postés 39 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 21 juin 2006 - 8 avril 2006 à 10:14
panorama12 Messages postés 39 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 21 juin 2006 - 8 avril 2006 à 11:04
Bonjour.
Je voudrais utiliser Filesearch pour rechercher des fichiers sur le disque dur mais quand j'écris application, vb ne me propose pas Filesearch dans les méthodes disponibles.
Peut être qu'il faut ajouter un composant ou une DLL mais je ne sais pas lesquels...
Si quelqu'un peut m'aider...Merci d'avance

2 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
8 avril 2006 à 10:43
Bonjour,

Il y a plusieurs méthodes récursives.

Exemple avec FSO
' Ce script utilise une fonction récursive pour parcourir l'ensemble des repertoires du
' disque dur.
' Vous pouvez specifier le repertoire de recherche dans la variable path_start ci-dessous.
'

Option Explicit


Dim path_start, FileName
Dim Myfso, result
Set Myfso = CreateObject("Scripting.FileSystemObject")


path_start = "d:\test"
FileName = "*.*"
result = Find(path_start, InputBox("Entrez le nom du fichier à rechercher : ",,path_start & FileName))


MsgBox result


Function Find (strPath, strFileName)
Dim MyDir, MyFile, MySubDir
Dim strResult


'If strFileName = Empty Then Exit Function
'strFileName = Ucase(strFileName)


Set MyDir = Myfso.GetFolder(strPath)


For Each MyFile In MyDir.Files
strResult = strResult & strPath & "" & MyFile.Name & vbCrLf
Next


For Each MySubDir In MyDir.SubFolders
strResult = strResult & Find(strPath & "" & MySubDir.Name, strFileName)
Next


Find = strResult
End Function

Exemple avec WMI
Dim total
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _("Select * from CIM_DataFile where FileName 'test' And Extension 'txt'")
For Each objFile in colFiles
resultat = resultat &vbCrLf & objFile.Name
Next
MsgBox resultat

jean-marc
0
panorama12 Messages postés 39 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 21 juin 2006
8 avril 2006 à 11:04
Merci Jean-Marc.Je crois que je vais utiliser la première méthode avec FSO.Je la trouve plus simple à compendre.
0
Rejoignez-nous