Fichier word deja ouvert ?
Utilisateur WDF
Inscrit:
25/10/2006 10:29
Post(s): 93
Bonjour,

j'aimerais pouvoir tester si un fichier word est déja ouvert.

Si quelqu'un a une idée..

merci

Contribution le : 08/12/2006 14:31
Créer un fichier PDF de la contribution Imprimer


Re: Fichier word deja ouvert ?
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Cela n'est pas si simple car il peu y avoir plusieurs instance de Word de lancé sur une machine.

Solution en Manipulant Word
//Déclaration de l'objet pour Word
oWrd est un objet automation Dynamique
sFichierWord est une chaine = "Test.doc"

//On tente de récupérer une instance Word en cours
oWrd = ObjectActif( "Word.Application" )

//Si instance en cours on en lance une recherche
Si oWrd <> Null Alors
 nDoc est un Entier
 i est un entier 
 
 nDoc = oWrd>>Documents>>Count()
 Pour i = 1 A nDoc
  Si Majuscule( oWrd>>Documents(i)>>Name ) = sFichierWord Alors
  Info( "Le fichier " + sFichierWord + " est déjà ouvert!"
  Retour
 Fin
Fin
Info( "Le fichier " + sFichierWord + " n'est pas ouvert!"


Solution en recherchant le fichier créer à l'ouverture du document

Lorsque vous ouvrez un document Word celui ci créer automatique un fichier portant le même nom en remplacant les deux première lettre du nom par ~$ exemple
Test.doc ==> ~$st.doc
il vous suffit dinc de rechercher ce nom
sFichierWord est une chaine = "Test.Doc"
sFichierOuvert est une chaine
sChemin est une chaine = "c:\temp\"

sFichierOuvert = "~$" + sFichierWord[[ 3 A ]]

Si fRep( sChemin + sFichierOuvert, frFichier ) ~= majuscule( sFichierOuvert ) Alors
 Info( "Le fichier " + sFichierWord + " est déjà ouvert! " )
 Retour
Fin
Info( "Le fichier " + sFichierWord + " n'est pas ouvert!"

Il faut tout de même faire attention car dans certain cas Word ne supprime pas le fichier ~$<Nom du fichier>

Le code à été saisie à la volée et peut comporter des erreurs

Contribution le : 09/12/2006 07:10
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Fichier word deja ouvert ?
Utilisateur WDF
Inscrit:
25/10/2006 10:29
Post(s): 93
Bonjour,

Apparement la solution A peut donc être faussé si le fichier est ouvert dans une autre instance que celle que l'on réccupère avec objectactif(). Est-ce que quelqu'un sait dans quel cas une nouvelle instance est crée par word ?

Du coup j'ai testé la solution B, mais je me suis rendu compte que le nom du fichier temporaire créée dependait en partie du nombre de caractère de ce dernier.
<7 caractères = "~$" + nomdufichier
=7 caractères = "~$" + nomdufichier - premier caractère
>7 caractères = "~$" + nomdufichier - 2 premiers caractères

Je m'explique :
c:\toto.doc -> c:\~$toto.doc
d:\lefreredetoto -> c:\~$freredetoto.doc

C'est pas du de rajouter ces critères mais j'ai peur qu'il y en ai d'autres...
Si quelqu'un avait des infos la dessus !

Contribution le : 11/12/2006 09:11
Créer un fichier PDF de la contribution Imprimer


Re: Fichier word deja ouvert ?
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

vous pouvez utiliser la syntaxe suivante :
//c:\toto.doc -> 
Si frep("c:\~$*toto.doc, frFichier) <> "" Alors
 Info("Fichier Trouvé")
Fin

Contribution le : 11/12/2006 12:04
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2