Sub test_simple()
Dim TB()
TB = WinDir("SCOPE='file:D:\Program Files\'")
End Sub
Function WinDir(ParamArray valeurs() As Variant) As Variant()
Dim i As Integer, Whr As String
' Initialisation de la requête SQL pour sélectionner les colonnes souhaitées
Sql = "SELECT System.ItemName, System.ItemPathDisplay, System.DateModified, System.Size FROM SYSTEMINDEX"
For i = 0 To UBound(valeurs) ' Boucle à travers les paramètres fournis pour construire la clause WHERE
Whr = Whr & " " & valeurs(i) ' Concatène chaque paramètre dans la clause WHERE
Next
If Trim(Whr) <> "" Then Sql = Sql & vbCrLf & "WHERE " & Whr ' Si la clause WHERE est définie, elle est ajoutée à la requête SQL
'Debug.Print Sql ' Affiche la requête SQL dans la fenêtre d'exécution pour débogage
With CreateObject("ADODB.Connection") ' Crée une connexion ADODB et ouvre la connexion à l'indexeur de recherche Windows
.Open "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';" ' Ouvrir la connexion
' Exécute la requête SQL et stocke les résultats
ReDim WinDir(0) ' Redimensionne le tableau pour les résultats
With .Execute(Sql)
If Not .EOF Then WinDir = .getrows ' Si des résultats existent, les place dans le tableau WinDir
.Close ' Ferme le recordset
End With
.Close ' Ferme la connexion
End With
End Function