Test si un fichier est déja ouvert

Résolu
payhens
Messages postés
21
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
22 avril 2010
- 7 sept. 2007 à 15:26
vbnino
Messages postés
218
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
11 juillet 2010
- 11 sept. 2007 à 18:36
Bonjour je fait une application en VB 2005 qui m'ouvre un fichier(exel entre autre)
je voudrai aussi pouvoir teste si celui ci est déja ouvert
comment faire ?
Merci

10 réponses

mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
8 sept. 2007 à 15:32
salut,

en VB6, la fonction d'api _lopen permet de savoir si un fichier est déjà ouvert.
Donc en dotnet, utilise System.IO.File.Open, le paramètre de retour doit certainement te retourner cette valeur

@++

<hr width="100%" size="2" />(
3
JM247L
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
2
7 sept. 2007 à 15:31
Bonjour,
A mon avis tu dois pouvoir tester le message qu'envoie Excel lorsque le fichier est déjà ouvert
Un truc du type ReadOnly ... En toiut cas VBA le permet

JML
 Partageons notre savoir et nos acquis
0
cs_Exploreur
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
7 sept. 2007 à 15:39
Salut,

Il me semble qu'une question identique à déjà été posée dans le forum réçament, une petite recherche s'impose...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
payhens
Messages postés
21
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
22 avril 2010

7 sept. 2007 à 16:48
j'ai chercher et meme en ce moment je continu de chercher mais je ne trouve toujours pas la réponse a ma question
pour plus de précision
je lance mon programme qui ouvre une feuille pour écrire dedans si je relance mon programme il va m'ouvrir a nouveau la meme feuille mais en lecture seul oo je voudrai que dans ce cas il ecrive les données a la suite donc il faut que je test si cette feuille est ouverte
Merci a toutes les personnes qui prennent du temps pour répondre sur ce forum et permmettent a des débutants comme moi de s'en sortir
0

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

Posez votre question
JM247L
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
2
7 sept. 2007 à 16:55
C'est exactement ce que je te disais plus haut : Si tu ouvres une seconde fois, il le sera en lecture seule
La solution c'est : A l'ouverture du fichier tu testes le staus et si c'est lecture seule ...

JML
 Partageons notre savoir et nos acquis
0
cs_etniqs
Messages postés
201
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
10 mai 2016

7 sept. 2007 à 18:19
je confirme : il existe du code sur ce site pour cela , et y'en a pas qu'un ....

coïto ergo sum
0
vbnino
Messages postés
218
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
11 juillet 2010

8 sept. 2007 à 11:52
Salut!

-Voici un code VB6:

 
   On Error GoTo Command1_Click_Error

Open "C:\xxxx.txt" For Input As #1

   On Error GoTo 0
   Exit Sub

Command1_Click_Error:

    MsgBox "Le fichier est déja ouvert"
0
payhens
Messages postés
21
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
22 avril 2010

10 sept. 2007 à 10:08
merci bcp
0
payhens
Messages postés
21
Date d'inscription
jeudi 5 juillet 2007
Statut
Membre
Dernière intervention
22 avril 2010

11 sept. 2007 à 11:54
pour etre plus precis .
Dans mon code je demande l'ouverture d'un fichier
ensuite je teste si il est en lecture seule
(ok ca marche)
ce que je voudrai faire maintenant c'est que s'il est en lecture seul celui ci ne s'ouvre pas mais que le programme utilise le fichier deja ouvert et ca je ne sais pas comment le faire
voici une partie de mon code



Try

mrxls =

New
Application
mrxls.Visible =

True

mrbook = mrxls.Workbooks.Open(

"c:\essaimr"
)


If
mrbook.ReadOnly =

True



Then


MessageBox.Show(

"le fichier est déjà ouvert celui-ci sera ouvert en lecture seul ou veuillez fermer l'autre fichier"
)


End



If
0
vbnino
Messages postés
218
Date d'inscription
jeudi 13 juillet 2006
Statut
Membre
Dernière intervention
11 juillet 2010

11 sept. 2007 à 18:36
Salut!

-Dans mon exemple ça marche , sans réouvrir le fichier et sans perdre le fichier déja ouvert.

  -Faut pas ajouter ,Close ton fichier ,dans l'exemple sinon  ....
0