OVH Cloud OVH Cloud

close et word

2 réponses
Avatar
Bruno
Bonjour à tous,

Lorsque je ferme un fichier avec ou sans "save", j'ai une petite macro sub
autoclose() qui contrôle la validité de certaines données...dans le
document..
Si des données non valide se trouve sur le document, je voudrais interrompre
la fermeture du fichier.
j'essaie des choses du genre :
activedocument.close = cancel
ou
close = cancel
...
et bien sur ça ne fonctionne pas...
Quelqu'un a't'il une idée ?????

Merci d'avance pour votre aide

A+++
Bruno

2 réponses

Avatar
Geo
Bonjour Bruno


Bonjour à tous,

Lorsque je ferme un fichier avec ou sans "save", j'ai une petite
macro sub autoclose() qui contrôle la validité de certaines
données...dans le document..
Si des données non valide se trouve sur le document, je voudrais
interrompre la fermeture du fichier.
j'essaie des choses du genre :
activedocument.close = cancel
ou
close = cancel
...
et bien sur ça ne fonctionne pas...


Quand tu dis interrompre la fermeture, tu veux que le fichier reste affiché
?
On pourrait tenter de "surcharger" la commande de fermeture.
Il faudrait faire une macro qui s'appelle FichierFermer (à vérifier) ou
FileClose et là on peut interrompre la fermeture.
Pas testé, mais il y a des commandes qu'on ne peut pas surcharger.
voir http://faqword.free.fr/articles.php?lng=fr&pgr0
(où il y en plein d'autres bonnes choses aussi)

Chapitre : Comment remplacer l'action d'une commande Word existante par une
macro?


--

A+

Avatar
Anacoluthe
Bonjour !

'Bruno' nous a écrit ...
Lorsque je ferme un fichier avec ou sans "save", j'ai une petite macro sub
autoclose() qui contrôle la validité de certaines données...dans le
document..
Si des données non valide se trouve sur le document, je voudrais interrompre
la fermeture du fichier.
j'essaie des choses du genre : activedocument.close = cancel


On ne peut pas annuler [Cancel] l'action déclenchant une macro
automatique. Ceci n'est réalisable que dans un *événement* comme
DocumentBeforeClose où on peut mettre à True le paramètre Cancel.
Voyez l'Aide vba sur l'événement DocumentBeforeClose ...

Cependant dans le cas de AutoClose il faut rappeler que
l'action Close comporte d'abord la question de sauvegarde d'un
document modifié et qu'à cette occasion on peut encore
annuler la fermeture du fichier en appuyant sur 'Annuler'

Si bien que si vous ne souhaitez pas utiliser DocumentBeforeClose
il est possible d'annuler quand même Close dans AutoClose
sous cette forme un peu bricolée :

Sub Autoclose()
Dim R As Integer
R = MsgBox("Vous êtes bien sûr de vouloir fermer ?", vbYesNo)
If R = vbNo Then
ActiveDocument.Saved = False ' oblige à demander Save
SendKeys "{ESC}" ' pré-envoie Annuler
End If
End Sub

Anacoluthe
« Et les yeux se perdant parmi les yeux aimés ;
L'heure du thé fumant et des livres fermés »
- Paul VERLAINE