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 documentLorsque 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