FONCTION EstOuvertFichierWord(sfichierword)
QUAND EXCEPTION //cas ou l'utilisateur clique sur annuler dans word
RENVOYER 1 // la méthode close() ne se déroule pas comme prévu
FIN
oWrd est un objet Automation dynamique
PosFichier est un entier
PosFichier=Position(sfichierword,"\",Taille(sfichierword),DepuisFin)
LeFichierWord est une chaîne=sfichierword[[PosFichier+1 A ]]
//On tente de récupérer une instance Word en cours
oWrd = ObjetActif("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 ) = Majuscule(LeFichierWord) ALORS
SI OuiNon( "Le fichier " + LeFichierWord + " est déjà ouvert "+RC+" Voulez vous le fermer maintenant ?") ALORS
oWrd>>Documents(i)>>close()
libérer oWrd
RENVOYER 0
SINON
RENVOYER 1
FIN
FIN
FIN
libérer oWrd
FIN
RENVOYER 0
SI EstOuvertFichierExcel(Fic) ALORS
RETOUR// le fichier est resté ouvert on ne fait rien
FIN
//traitement
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=4819&post_id=20017