Les évènements vu par Word

Olivier Lebeau

Certains évènements sont pris en compte par Word.
Quels sont-ils ?
Et comment les utiliser ?

- Titre : Les évènements vu par Word

- Auteur : Olivier Lebeau

- Parution : 7 juin 2008

- Licence : Copyright ® 2008 Lebeau Olivier. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- 0. Introduction

- 1. Au niveau des documents

- 1-A. Document_Open

- 1-B. Document_New

- 1-C. Document_Close

- 1-D. Document_Sync

- 1-E. Document_ContentControlAfterAdd

- 1-F. Document_ContentControlBeforeContentUpdate

0 - Introduction

Word est capable de réagir lorsque certaines choses se produisent. Ces "choses" sont appelées des évènements.
Ces évènements peuvent être de différentes natures. Nous allons les passer en revue et apprendre à les mettre en oeuvre.

1 - Au niveau des documents

Les évènements les plus simples à utiliser sont sur les documents.
En fonction du document qui contient le code, la portée de l'évènement sera différente.
Il n'est possible de détecter les évènements que dans le module associé au document "ThisDocument", il n'est pas possible d'utiliser ces évènements dans un module normal.

Évitez de mettre vos codes dans le Normal.dotm, vous éliminerez certains aléas.

Localisation

Portée

Normal.dotm

Se produira sur tous les documents

modèle

Sera déclenchée pour tous les documents issu de ce modèle.

document

Pour le document contenant le code

Pour insérer le code, la méthode la plus sûre est le choix de Document dans la liste déroulante de VBE.

Et l'évènement associé.

1-A - Document_Open

Cet évènement se produit lors de chaque ouverture du document.

Exemple de code sur ouverture du document

Private Sub Document_Open()
MsgBox "Ouverture du document"
End Sub

Cet évènement est surtout intéressant si vous utilisez un UserForm pour permettre à l'utilisateur de faire des choix ou entrer certaines données.

Private Sub Document_Open()
MonUserForm.Show
End Sub

1-B - Document_New

Cet évènement se produit lors de la création d'un nouveau document. Ce code pour être utile doit se trouver dans un modèle.

Lors de la création d'un nouveau document

Private Sub Document_New()

End Sub

Une des utilisations de cet évènement est le remplissage des coordonnées de l'utilisateur.

Cet évènement se produit aussi lorsque vous créer un nouveau document au départ de VBA.

1-C - Document_Close

Cet évènement se produit lors de la fermeture du document. L'exemple ci-après va inhiber le message de demande de sauvegarde.

Private Sub Document_Close()
ActiveDocument.Saved = True

End Sub

1-D - Document_Sync

Cet évènement se produit à la synchronisation de votre document si vous travaillez avec des documents issu d'un serveur SharePoint.

Private Sub Document_Sync(ByVal SyncEventType As Office.MsoSyncEventType)

End Sub

1-E - Document_ContentControlAfterAdd

Cet évènement se produit lorsque vous insérez un bloc de construction (BuildingBloc).

Private Sub Document_ContentControlAfterAdd(ByVal NewContentControl As ContentControl, ByVal InUndoRedo As Boolean)
MsgBox NewContentControl.Type & " Ajouté"
End Sub

Si le type de contrôle le permet, vous pouvez y ajouter votre texte.

Private Sub Document_ContentControlAfterAdd(ByVal NewContentControl As ContentControl, ByVal InUndoRedo As Boolean)
NewContentControl.Range.Text = " Avec les compliments de developpez.com  "
End Sub

Cet évènement est aussi exploitable lorsque le contrôle de contenu est inséré avec du code.

1-F - Document_ContentControlBeforeContentUpdate

Un contrôle de donctenu est un objet contenant certaines imformations relatives au document.

Comment insérer un contrôle de contenu ?

Les contrôles de contenu.

Private Sub Document_ContentControlBeforeContentUpdate(ByVal ContentControl As ContentControl, Content As String)

End Sub