Re: encore plus dur -> Fermer fichier word s'il est ouvert... | Sujet: Re: encore plus dur -> Fermer fichier word s'il est ouvert... par Anak1 sur 11/12/2006 14:24:31
Merci a tous !
Pour résoudre le pb, j'ai finalement fait une fonction EstOuvertFichierWord (sfichierword -> Chemin+NomDufichier) Elle propose de fermer la fenêtre et renvoi 1 si au final le fichier est resté ouvert.
Si y a 2 instances de word ca marche pas :(... tant pis :p
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
et je l'apelle comme ca
SI EstOuvertFichierExcel(Fic) ALORS
RETOUR// le fichier est resté ouvert on ne fait rien
FIN
//traitement
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|