OVH Cloud OVH Cloud

Comment utiliser l'objet FileSearch

2 réponses
Avatar
Bug dans l'objet FileSearch ?
J'ai le programme suivant:
With Application.FileSearch
.NewSearch
.LookIn = "c:\temp"
.SearchSubFolders = True
.Filename = "x*.doc"
.MatchTextExactly = True
.FileType = msoFileTypeWordDocuments
If .Execute() > 0 Then
MsgBox "Il y a " & .FoundFiles.Count & " fichiers."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "Il y a pas de fichiers."
End If
End With

Je recherche des fichiers Word dont le nom est x*.doc et je les affiche.
Malheureusement, il me semble qu'il y a un bug dans l'objet FileSearch car,
si j'ai 3 fichiers ax.doc, x1.doc et x2.doc dans c:\temp, mon programme
m'affiche les 3 noms de fichiers alors qu'il devrait en afficher uniquement
deux (x1.doc et x2.doc).
J'aimerai avoir confirmation qu'il s'agit bien d'un bug au niveau de l'objet
FileSearch et non un bug au niveau de mon programme.

Merci d'avance.

2 réponses

Avatar
Corona
Bonjour
FileSearch fonctionne parfaitement.
FileName = "*x*.doc" va te donner 3 fichiers
FileName = "x*.doc" te donnera 2 fichiers
Si tu utilises la fonction de recherche de 'explorer' tu auras le même
résultat.
Philippe

"Bug dans l'objet FileSearch ?" <Bug dans l'objet FileSearch
?@discussions.microsoft.com> a écrit dans le message de news:

J'ai le programme suivant:
With Application.FileSearch
.NewSearch
.LookIn = "c:temp"
.SearchSubFolders = True
.Filename = "x*.doc"
.MatchTextExactly = True
.FileType = msoFileTypeWordDocuments
If .Execute() > 0 Then
MsgBox "Il y a " & .FoundFiles.Count & " fichiers."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "Il y a pas de fichiers."
End If
End With

Je recherche des fichiers Word dont le nom est x*.doc et je les affiche.
Malheureusement, il me semble qu'il y a un bug dans l'objet FileSearch
car,
si j'ai 3 fichiers ax.doc, x1.doc et x2.doc dans c:temp, mon programme
m'affiche les 3 noms de fichiers alors qu'il devrait en afficher
uniquement
deux (x1.doc et x2.doc).
J'aimerai avoir confirmation qu'il s'agit bien d'un bug au niveau de
l'objet
FileSearch et non un bug au niveau de mon programme.

Merci d'avance.



Avatar
MichDenis
Bonjour Bug,

si tu utilises la constante : msoFileTypeWordDocuments,

Je définirais cette propriété de cette façon : .Filename = "x*.*"


With Application.FileSearch
.NewSearch
.LookIn = "c:temp"
.SearchSubFolders = True
.Filename = "x*.*"
.MatchTextExactly = True
.FileType = msoFileTypeWordDocuments


Salutations!


"Bug dans l'objet FileSearch ?" <Bug dans l'objet FileSearch ?@discussions.microsoft.com> a écrit dans le message de
news:
J'ai le programme suivant:
With Application.FileSearch
.NewSearch
.LookIn = "c:temp"
.SearchSubFolders = True
.Filename = "x*.doc"
.MatchTextExactly = True
.FileType = msoFileTypeWordDocuments
If .Execute() > 0 Then
MsgBox "Il y a " & .FoundFiles.Count & " fichiers."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
Else
MsgBox "Il y a pas de fichiers."
End If
End With

Je recherche des fichiers Word dont le nom est x*.doc et je les affiche.
Malheureusement, il me semble qu'il y a un bug dans l'objet FileSearch car,
si j'ai 3 fichiers ax.doc, x1.doc et x2.doc dans c:temp, mon programme
m'affiche les 3 noms de fichiers alors qu'il devrait en afficher uniquement
deux (x1.doc et x2.doc).
J'aimerai avoir confirmation qu'il s'agit bien d'un bug au niveau de l'objet
FileSearch et non un bug au niveau de mon programme.

Merci d'avance.