FileSearch

Résolu
cs_nitho Messages postés 130 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 8 décembre 2015 - 20 nov. 2009 à 12:14
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 20 nov. 2009 à 13:51
Bonjour à tous, cette fois si je cherche un fichier Excel. j'ai utiliser la méthode FileSearch dans Excel, elle marchait très bien mais sous vb6 elle ne trouve rien. J'ai l'impression que l'objet FileSearch ne s'initialise pas. Poutant j'ai écrit "Dim MonExcel as object" dans la zone de déclaration des variables globales. Et dans la procédure d'initialisation de la Form j'ai écrit "Set MonExcel = CreateObject("Excel.Application")


With MonExcel.FileSearch
.NewSearch
.LookIn = Répertoire3
If CboType.Text = "FULL" Then
.FileName = "*Full.xls"
ElseIf CboType.Text = "MEDIUM" Then
.FileName = "*Medium.xls"
ElseIf CboType.Text = "BASIC" Then
.FileName = "*Basic.xls"
End If
.SearchSubFolders = False
.Execute
FichFile = .FoundFiles(1)
End With



nitho l'amateur

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 nov. 2009 à 13:51
Salut
Pas très précis.
"elle ne trouve rien" : Déjà, avec ce code, tu dois avoir une erreur si tu tentes le FichFile = .FoundFiles(1) alors qu'il n'a rien trouvé.
Comme expliqué dans l'aide de Excel sur cette fonction, il faut tester si .Execute renvoie autre chose que 0.

Chez moi, je n'ai même pas réussi à le faire marcher, Excel semble se figer et ne plus répondre.

Si tu ne dois rechercher un fichier que dans un seul répertoire, utilise plutôt la fonction VB6 "Dir" :
  Dim sFichier As String
  sFichier = Dir("C:\Mes documents\*Full.xls")
  Do While sFichier <> ""
    MsgBox sFichier
    sFichier = Dir
  Loop


Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
Rejoignez-nous