Verifier si un fichier existe

CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 - 26 juil. 2004 à 21:29
huelce Messages postés 45 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 28 juillet 2004 - 27 juil. 2004 à 17:54
Slt!
Je voudrai savoir comment faire pour savoir si un fichier existe
merci
VirusMan :-p

5 réponses

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
26 juil. 2004 à 23:27
Salut CCJ
Si tu avais lu les messages du forum de ces derniers jours, tu aurais vu que c'est un sujet récurant :
If Dir("C:\MonFichier.abc") <> "" Then Debut.Print "Existe"

Vala
Jack
0
huelce Messages postés 45 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 28 juillet 2004 1
26 juil. 2004 à 23:40
Salut CCJ,
d'abord laisse moi te dire qu'une bonne recherche t'aurai donné des tas de sources pour faire ca.
Le problèmes c'est peut-être justement qu'il y a des tas de facons de tester l'existence d'un fichier, de la plus pire à la moins meilleure.

Si ton projet travaille beaucoup sur les fichiers, tu utilise peut-être déjà fso.
Sinon sache que fso (File System Object) est une référence à rajouter à ton projet (Micrososft Scripting Runtime) qui permette d'utiliser des méthodes fiables sur les fichiers.

Exemple :

'-- déclaration fso
Dim Fso As New FileSystemObject

'-- utilisation pour test présence ficchier
If Fso.FileExists("C:\rep\fic.ext") = True Then
    '...
Else
    '...
End If


sinon *une* version de la méthode classique avec Dir()
http://www.vbfrance.com/code.aspx?ID=89
Peut-être moins pire ici :
http://www.vbfrance.com/forum.v2.aspx?ID=233389
0
cs_PhilippeE Messages postés 437 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 10 août 2010 2
27 juil. 2004 à 09:07
Référencer FSO dns un projet VB revient à s'exposer à de multiples sources de bugs incompréhensible.
En effet la librairie n'est pas compatible descendante (un développement winXP plante sous winNT).

Donc dans le cas de l'utilisation d'un FSO, on garde la librairie déréférencée, et la création se fait avec une CreateObject.

' Déclaration
Dim Fso as FileSystemObject
' Instanciation
Set Fso = CreateObject("Scripting.FileSystemObject")

Bien sûr ceci est réservé à la version compilée et livrée.
Pour les développements, on peut très bien faire comme le dit Huelce, ça permet d'ailleur d'avoir l'intellicense active.
0
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
27 juil. 2004 à 09:45
Merci

VirusMan :-p
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
huelce Messages postés 45 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 28 juillet 2004 1
27 juil. 2004 à 17:54
PhillipeE, je ne connaissais pas les problème avec FSO sous NT (et autres), cela dit c'est vrai que dans la plupart des sources, il est utilisé avec un CreateObject (chose que je n'aime pas trop en pruincipe) et je comprends meinatenant pourquoi.
0
Rejoignez-nous