OVH Cloud OVH Cloud

BeforeClose ou Close

2 réponses
Avatar
khinoa
Bonjour à tous,

Dans un document Word 2002 j'affiche à l'ouverture de ce document une barre
d'outils perso, je voudrais qu'elle soit automatiquement supprimée à la
fermeture du document comme l'événement BeforeClose dans ThisWorkbook le
fait pour Excel.

Dois-je utiliser l'événement DocumentBeforeClose (avant la fermeture du
document) ou Close (lors de la fermeture du document) et dans l'un ou
l'autre cas où placer les instructions, dans ThisDocument ou ailleurs ? Je
précise que la subtilité "Avant la fermeture du document ou lors de la
fermeture du document" provient de l'aide en ligne de Word pour les deux
événements cités précédemment. J'avoue être perplexe. Quelqu'un comprend-il
la différence?

Faut-il obligatoirement utiliser un module de classe comme je l'ai lu dans
l'aide en ligne? Je n'en utilise pas dans Excel, faut-il absoulement en
créer un dans Word pour supprimer la barre d'outils perso, et si oui avec
quelles instructions?

D'avance merci

khinoa

PS : La barre d'outils ne s'affiche que dans un document précis.

2 réponses

Avatar
Anacoluthe
Bonjour !

'khinoa' nous a écrit ...
Dois-je utiliser l'événement DocumentBeforeClose (avant la fermeture du
document) ou Close (lors de la fermeture du document) et dans l'un ou
l'autre cas où placer les instructions, dans ThisDocument ou ailleurs ? Je
précise que la subtilité "Avant la fermeture du document ou lors de la
fermeture du document" provient de l'aide en ligne de Word pour les deux
événements cités précédemment. J'avoue être perplexe. Quelqu'un comprend-il
la différence?


Dans votre cas utilisez simplement Close qui est un événement de
/document/ et non DocumentBeforeClose qui est un événement d'
/application/ et qui nécessite de définir un module de classe.
Pour un document ou son modèle, le module de classe existe déjà
avec ThisDocument.

La distinction entre 'avant' et 'lors' d'un événement est simple
à comprendre, même si dans les deux cas le code que vous activez
semble se dérouler objectivement avant l'événement :
- 'Lors' : l'événement a lieu de toute façon quoi qu'il arrive
- 'Avant' : l'événement va avoir lieu mais il est encore possible
de l'annuler ou d'en modifier son déroulement.

Vous souhaitez supprimer une barre d'outils à la fermeture du
document : utilisez Close
Vous souhaitez que l'utilisateur pense à corriger toutes ses fautes
avant de fermer le document : utilisez DocumentBeforeClose

Est-ce plus clair ?

Anacoluthe
« L'événement c'est comme la plomberie,
une affaire de spécialiste. »
- Daniel SCHNEIDERMANN

Avatar
khinoa
Bonjour Anacoluthe,

Vous souhaitez supprimer une barre d'outils à la fermeture du
document : utilisez Close
Vous souhaitez que l'utilisateur pense à corriger toutes ses fautes
avant de fermer le document : utilisez DocumentBeforeClose


Oui c'est déjà beaucoup plus clair. D'autant que j'ai cherché des livres sur
la programmation de Word 2002 voir 2003. Il y en a très peu (parfois
seulement une partie de livre, à la fin), et ceux que j'ai pu voir ne m'ont
pas paru extraordinaires. Il est vrai qu'Excel se prête beaucoup plus à la
programmation.

Au revoir et merci pour ces précisions.

khinoa