2. L'objet Application▲
Le premier objet que nous allons aborder est l'objet Application. Il est le plus important, sans lui, pas de logiciel.
L'objet Application est présent par défaut pour Word, il n'est pas utile de l'appeler.
01 Sub UtiliserActiveDoc()
02 Application.ActiveDocument.Range.Select
03 End SubPeut également s'écrire :
01 Sub UtiliserActiveDoc()
02 ActiveDocument.Range.Select
03 End SubPar contre, lors de l'utilisation de l'objet Word dans une autre application, il est impératif d'y faire appel et de référencer sa bibliothèque dans votre projet. Si vous omettez de référencer la bibliothèque, vous lèverez une erreur : "Type défini par l'utilisateur non défini"
01 Sub TestWord()
02 Dim wApp as Word.Application
03 Set wApp = CreateObject("Word.Application")
04
05 End SubOu encore dès la déclaration de l'objet :
01 Sub TestWord()
02 Dim wApp as New Word.Application
03
04
05 End SubMais encore :
01 Sub TestWord()
02 Dim wApp as Object
03 Set wApp = GetObject(,"Word.Application")
04
05 End SubDans ce dernier exemple, il n'est pas nécessaire de référencer la bibliothèque de Word.
L'objet ainsi crée n'est pas visible, pour le rendre visible, vous devez le spécifier. Si c'est pour le traitement de fichiers ou de données, il n'est parfois pas utile de le rendre visible.
01 Sub TestWord()
02 Dim wApp as New Word.Application
03 wApp.Visible = True
04
05 End SubDans les exemples que nous avons vus jusqu'à présent, l'objet apllication existe même s'il n'est pas visible, il se trouve en mémoire. Il est donc impératif, lorsque nous n'avons plus besoin de l'objet, de le fermer pour libérer les ressources qu'il utilise. Le plus radical est d'utiliser la méthode "Quit", mais avec l'inconvénient que Word sera complètement fermé.
01 Sub TestWord()
02 Dim wApp as New Word.Application
03
04 wApp.Quit
05 End SubLa ligne 04 de notre code va simplement fermer l'application.
01 Sub TestWord()
02 Dim wApp as Word.Application
03 Set wApp = GetObject(,"Word.Application")
04
05 Set wApp = Nothing
06 End SubLa méthode ci-dessus n'est utilisable que si Word est déjà ouvert, on ne crée pas de nouvelle instance de Word, mais on utilise l'instance existante. Si aucune instance de Word n'est ouverte, vous recevez un message "Un composant ActiveX ne peut créer d'objet" La ligne 05 va libérer les objets.
2-A. Évènements, Méthodes et Propriétés▲
L'objet application possède des Évènements, des Méthodes et des Propriétés.
Certains Évènements sont détectés et gérés par Word. Il est à noter que chaque application Office gère
les évènements de façon différente. Un évènement détecté par Access ne l sera p s nécessairement par Word.
Word possède des Propriétés qui peuvent être en lecture seule ou modifiable.
Finalement Word possède des Méthodes.
Je ne ferai pas une liste exhaustives. J'aborderai les Évènements, Méthodes et Propriétés qui
me semblent les plus importantes et utiles.
2-A-1. Les Propriétés▲
Nous allons parcourir quelques propriétés, mais la liste n'est en rien exhaustive.
2-A-1-a. ActiveDocument▲
La première propriété que nous alons aborder est la propriété ActiveDocument, en plus d'être la première
par ordre alphabétique, je pense que c'est la plus importante.
Cette propriété est en lecture seule et renvoie le document actif.
Si aucun document n'est actif, une erreur est renvoyée '4248'.
01 Sub TestActiveDocument()
02 Debug.Print ActiveDocument.Name
03 ActiveDocument.Range.( _
Start:=ActiveDocument.Paragraphs(2).Range.Start, _
End:=ActiveDocument.Paragraphs(4).Range.End)Select
04 End SubLa ligne 02 du code va simplement afficher le nom du document actif dans la fenêtre Exécution , et la ligne 03 va sélectionner le range situé entre le seconde et le quatrième paragraphe du document.
01 ActiveDocument.CloseOn peut également fermer le document actif, mais la condition ReadOnly empêche l'affectation d'un document à cette propriété.
2-A-1-b. ActivePrinter▲
Cette propriété renvoie le nom de l'imprimante active, il provient du système d'exploitation.
Cette propriété est modifiable, elle est intéressante lorsque pour un document
précis ou une tâche particulière, on est tenu de changer l'imprimante active.
L'exemple le plus courrant est l'impression d'un document en PDF.
01 Sub ImprimerPDF()
02 Dim OldPrinter As String
03 OldPrinter = Application.ActivePrinter
04 ActivePrinter = "PDF Creator"
05 ActiveDocument.PrintOut
06 DoEvents
07 ActivePrinter = OldPrinter
08 End Sub
La ligne 02 déclare la variable Texte OldPrinter, qui va servir à "Stocker" le nom de l'imprimante active.
La ligne 03 va "remplir" la variable avec le nom de l'imprimante active, ce nom pourras être réutilisé.
La ligne 04 va définir une nouvelle imprimante.
Les lignes 05 et 06 vont servir à imprimer et attendre la fin de l'impression.
La ligne 07 va utiliser la variable OldPrinter pour remettre Word dans l'état où il se trouvait. Sans cette ligne,
PDF Creator resterait l'imprimante par defaut.
On pourrait envisager l'utilisation de cette méthode pour l'impression de listings sur une imprimante réseau particulière.
2-A-1-c. ActiveWindow▲
Cette propriété en lecture seule va renvoyer la fenêtre active, dans l'exemple, son index.
C'est intéressant lorsque les documents n'ont pas encore été suvegardés.
01 Debug.Print ActiveWindow.Index2-A-1-d. AddIns▲
Addins représente la collections des compléments disponibles. Cette propriété est en lecture seule.
01 Sub TestApplication()
02 Dim oadd As AddIn
03 Debug.Print AddIns.Count
04 For Each oadd In AddIns
05 Debug.Print oadd.Name
06 Next oadd
07 End SubLa ligne 03 va compter le nombre de compléments installés La boucle de 04 à 06 va renvoyer dans la fenêtre Exécution le nom des différents compléments intallés.
2-A-1-e. Assistant▲
Ce bon vieil assistant qui manque à très peu de gens. Introduit avec Office 97, cet assistant n'est plus
affiché actuellement.
Personnellement, il ne me manque pas.
2-A-1-f. Autocaptions▲
En fançais, on traduit cette propriété par légendes automatiques.
Ce sont les légendes qui sont insérées par Word de façon automatique pour les différents
objets graphiques d'un document.
Le code ci-dessous va lister les différents types de légendes diponibles dans Word.
01 Sub TestApplication()
02 Dim au As AutoCaption
03 For Each au In AutoCaptions
04 Debug.Print au.Name
05 Next au
06 End Sub2-A-1-g. AutoCorrect▲
L'objet AutoCorrect contient les corrections automatiques. Cette propriété est modifiable.
01 Sub TestApplication()
02 Debug.Print AutoCorrect.Entries.Count
03 End Sub
Après l'exécution de ce code, j'ai été surpris du nombre de corrections automatiques contenues dans Word.
Je vous conseille de faire le test même si compter les entrées est sans grand intérêt.
Le code qui suit vous permet d'ajouter de nouvelles entrées à la liste.
Sub TestApplication()
AutoCorrect.Entries.Add Name:= "ho" , Value:= "Heureux-oli"
End SubImage à l'appui, la nouvelle entrée est bien présente dans la liste.
2-A-1-h. BrowseExtraFileTypes▲
Affectez la valeur « text/html » à cette propriété pour pouvoir ouvrir des fichiers HTML
contenant des liens hypertexte
dans Microsoft Word (et non dans l'explorateur Internet par défaut).
Type de données texte en lecture-écriture.
01 Sub TestBrowseExtra()
02 Application.BrowseExtraFileTypes = "text/html"
03 End SubLe rendu n'est pas exceptionnel, pour ne pas dire médiocre. Mais peut avoir une certaine utilité.
2-A-1-i. Browser▲
Rien à voir avec un quelconque browser internet.
Cette propriété va indiquer à Word la méthode qui sera utilisée pour les déplacemens
dans le document.
Cette propriété possède une propriété importante : Traget
La propriété target va indiquer le type de cible pour la navigation dans le document.
Voici la liste des cibles que l'ont peut atteindre.
- wdBrowseComment
- wdBrowseEdit
- wdBrowseEndnote
- wdBrowseField
- wdBrowseFind
- wdBrowseFootnote
- wdBrowseGoTo
- wdBrowseGraphic
- wdBrowseHeading
- wdBrowsePage
- wdBrowseSection
- wdBrowseTable
La navigatiion peut être définie à suivant (Next) ou précédent (Previous). Une fois atteinte, la cible est sélectionnée.
01 Sub Navigation()
02 With Application.Browser
03 .Target = wdBrowseSection
04 .Next
05 End With
06 End SubLe code ci-dessus va déplacer la sélection de section en section.
L'utilisation de ce code provoque la même action que le bouton situé au bas de l'ascenseur vertical.


2-A-1-j. Build▲
Cette propriété en lecture seule permet de récupérer le Build (numéro de version et de compilation ) de la version de Word utilisée.
Très intéressant si vous distribuez vos documents contenant des fonctionnalités propres
à certaines versions du logiciel.
01 Sub TestVersion()
02 MsgBox Prompt:=Application.Build, Title:="Microsoft Word Version"
03 End SubPour info, la version renvoyée par Word 2007 que j'utilise est "12.0.6015".
2-A-1-k. CapsLock▲
Propriété en lecture seule, permet de savoir si les majuscules sont verouillées.
Si vous tenter de modifier cette propriété, Word vous signale que vous ne pouvez pas !
01 Sub TestMajuscule()
02 If Application.CapsLock Then MsgBox "Les majuscules sont verouillées !"
03 End SubPropriété intéressante si l'on désire contrôler la frappe de l'utilisateur.
2-A-1-l. Caption▲
Propriété en lecture écriture qui permet de lire le titre de l'application, ou de le modifier.
01 Sub TitreApplication()
02 Application.Caption = "Mon Word à Moi"
03 End SubSimple, la ligne 02 va modifier le titre de l'application.
2-A-1-m. CommandBars▲
Prorpiété qui représente la collection de toutes les barres d'outils de Word. Je ne vais pas vous donner la liste, elle est longue, le code ci-dessous va afficher les 176 barres d'outils qui se trouvent dans Word, du moins sur mon PC. C'est cette collection qui contient également vos barres d'outils.
01 Sub ListeBarreDOutils()
02 Dim cmd As CommandBar
03 For Each cmd In Application.CommandBars
04 Debug.Print cmd.Name
05 Next cmd
06 End Sub2-A-1-n. DefaultSaveFormat▲
Propriété qui renvoie le format de sauvegarde par défaut du document.
La modification de cette propriété va change le type de fichier dans la boîte de
dialogue "Enregister Sous".
01 Sub TestApplication()
02 Application.DefaultSaveFormat = "rtf"
03 End Sub
Si vous désirez changer l'extension par défaut, prévoyez de la restaurer pour éviter
toute surprise.
2-A-1-o. Dialogs▲
Propriété qui permet de choisir la boîte de dialogue, dans la collection, qui sera affichée.
01 Sub TestApplication()
02 Application.Dialogs(wdDialogCSSLinks).Show
03 End SubEn fonction de la boîte de dialogue choisie, il est possible de lui passer certains paramètres par le code.
2-A-1-p. DisplayAutoCompleteTips▲
Propriété intéressante si on peut la désactiver. En effet, le but la fonctionalité liée à cette proprité est de vous proposer un complétion automatique de certains mots. C'est le cas des dates. Quel bonheur de pourvoir désactiver temporairement cette fonction.
01 Sub AutoCompletion()
02 Application.DisplayAutoCompleteTips = True
03 End Sub2-A-1-q. Documents▲
Certainement la collection la plus importante de l'application Word. Cette collection représente les documents ouverts dans l'application. C'est à cette collection que nous allons ajouter un document.
01 Sub AjoutDocument()
02 Application.Documents.Add
03 End SubCette collection a droit à un chapitre entier dans ce tutoriel.
2-A-1-r. FilesConverters▲
Pourquoi je ne parviens pas à ouvrir un document sauvegardé dans une version antérieure de Word.
Probablement que le convertisseur adéquat n'est pas installé sur votre machine.
Le code suivant va vous donner la liste des convertisseurs installés et le type de fichier qu'il sont capable de convertir.
01 Sub Convertisseurs()
02 Dim flC As FileConverter
03
04 For Each flC In Application.FileConverters
05 Debug.Print flC.Name; "; "; flC.Path; "; "; flC.FormatName
06 Next flC
07
08 End SubLa ligne 05 va vous donner le nom du convertisseur, son chemin sur le pc ainsi que sa fonction.
2-A-1-s. FileDialog▲
Représente la boîte de dialogue liée aux fichiers.
01 Sub ShowSaveAsDialog()
02 Dim dlgSaveAs As FileDialog
03 Set dlgSaveAs = Application.FileDialog( FileDialogType:=msoFileDialogSaveAs)
04 dlgSaveAs.InitialFileName = "Moi"
05 dlgSaveAs.Show
06 End SubAvec pour la ligne 03 "Filedialogtype les valeurs suivantes :
| Nom | Valeur | Description |
|---|---|---|
| msoFileDialogFilePicker | 3 | Boîte de dialogue de sélection de fichier |
| msoFileDialogFolderPicker | 4 | Boîte de dialogue de sélection de dossier |
| msoFileDialogOpen | 1 | Boîte de dialogue Ouvrir |
| msoFileDialogSaveAs | 2 | Boîte de dialogue Enregistrer sous |
La ligne 05 permet de suggérer un nom pour le fichier qui sera dans ce cas sauvegardé.
2-A-1-t. Options▲
La propriété Options permet d'utiliser les options disponibles pour l'application.
Quelques Exemples :
Application.Options.AllowAccentedUppercase = TrueApplication.Options.AllowDragAndDrop = TrueApplication.Options.EnableSound = FalseOn peut accéder à toutes les options de Word.
2-A-1-u. PrintPreview▲
Permet de passer en mode "Apperçu Avant Impression".
01 Sub AppercuAvantImpression()
02 Application.PrintPreview = True
03 End SubSon utilisation va basculer le mode d'affichage.
2-A-1-v. ScreenUpdating▲
Il n'est pas toujours très agréable de voir les modifications d'un texte à l'écran.
La propriété ScreenUpdating va inhiber l'affichage et figer ce dernier.
Ne pas oublier de remettre l'affichage normal après l'avoir désactivé.
Application.ScreenUpdating = FalseSera toujours suivie de la ligne ci-après.
Application.ScreenUpdating = True2-A-1-w. Selection▲
Propriété important en soi. C'est sur les selection que nous allons pourvoir agir
pour modifier notre document.
La propriété selection s'applique à bon nombre d'objets.
Nous aurons de meilleures occasions dans ce document pour utiliser la propriété sélection.
2-A-1-x. System▲
La propriété System permet de renvoyer différentes information sur le Système, comme l'espace disque restant, ....
01 Sub InformationSysteme()
02 With Application.System
03 Debug.Print .CountryRegion
04 Debug.Print .FreeDiskSpace
05 Debug.Print .HorizontalResolution
06 Debug.Print .VerticalResolution
07 End With
08 End Sub
La ligne 03 va renvoyer le code pays, 33 pour la France.
La ligne 04 va renvoyer l'espace disque disponible.
La ligne 05 va renvoyer la résolution horizontale de votre affichage.
La ligne 06 va renvoyer la résolution verticale de votre affichage.
2-A-1-y. Templates▲
Propriété qui renvoie la collection des templates pour les documents ouverts.
Sub ListeModele()
Dim model As Template
Debug.Print Application.Templates.Count
For Each model In Application.Templates
Debug.Print model.Path
Next model
End Sub2-A-2. Les Méthodes▲
En VBA word, les méthodes possèdent une particularité par rapport aux méthodes Access. En Access, lors de l'utilisation de paramètres
dans les méthodes, il est importnat de repérer la position du paramètre et d'insérer le nombre se séparateurs exacts pour
que les paramètres soient correctement passés. En VBA Word, on peut nommer les paramètres lors de leur utilisation.
On obtient par exemple :
String:=Selection.Texte
'****************************
Alignment:=wdAlignTabCenter2-A-2-a. ChangeFileOpenDirectory▲
Change le répertoire d'ouverture des documents, mais contrairement à "DefaultFilePath", cette modification n'est effective que pour la session en cours de Word. Lors de la fermeture de l'application, cette donnée est éliminée.
01 Sub testOpen()
02 ChangeFileOpenDirectory "D:\temp"
03 Dialogs(wdDialogFileOpen).Show
04 End SubEffet immédiat, la boîte de dialogue s'ouvre sur le répertoire spécifié à la ligne 02.
2-A-2-b. CleanString▲
Méthode intéressante, elle permet de nettoyer une chaîne de certains caractères non-imprimables qu'elle contient.
On peut de cette façon éliminer les retours à la ligne et ils seront remplacés par des espaces.
Les espaces insécables seront convertis en espaces. L'aide donne la liste des caractères affectés et le résultat obtenu.
01 Sub testClean()
02 Dim myText As String
03 myText = Application.CleanString(Selection)
04 Documents.Add
05 Selection.TypeText myText
06 End Sub
La ligne 02 sert à déclarer ma variable.
La ligne 03 à affecter à ma variable la selection à nettoyer
La ligne 04 à ajouter un nouveau document pour vérifier le résultat.
La ligne 05 à insérer notre texte nettoyé dan sle nouveau document.
2-A-2-c. CompareDocuments▲
Cette méthode permet de comparer deux documents. Il existe une multitude d'options facultatives pour les résultats désirés. Le résultat sera intégré dans un document.
01 Sub testComparaison()
02 Dim OriDocument As Document
03 Dim RevDocument As Document
04 Dim finalDoc As Document
05
06 Set OriDocument = CreateObject("c:\temp\Doc4.docm")
07 Set RevDocument = CreateObject("c:\temp\doc5.docm")
08 Set finalDoc = Application.CompareDocuments(OriDocument, RevDocument)
09
10End Sub
02 -> 04 Déclaration des variables qui doivent être des documents
06 -> 07 Affectation des objets documents aux variables
08 Nouveau document contenant les marques de révision suite à la comparaison.
2-A-2-d. GoBack et GoForward▲
Surprenant !
Ces fonctions ne sont plus disponibles si vous utilisez le format de fichier Office Open XLM.
Lorsque Word utilise le format propriétaire *.doc, ces actions sont disponibles, elles permettent
deplacer le curseur aux trois derniers endroits d'édition avant sauvegarde du document.
Si vous n'avez pas fermé le document, ces onctions sont opérationnelles.
La combinaison de touches Shift + F5 produit le même résultat.
2-A-2-e. MergeDocuments▲
Cette méthode est identique à la méthode CompareDocuments mis à part quelques options.
L'utilisation se fait de la même manière.
2-A-2-f. NewWindow▲
Permet d'ouvrir une nouvelle fenêtre Word avec le document en cours. Une fois ouverte, la seconde fenêtre peut être combinées aux autres avec un arrangement horizontal ou vertical.
Sub TestWindows()
MsgBox Windows.Count & " fenêtre(s) ouverte(s)"
Windows(1).NewWindow
MsgBox Windows.Count & " fenêtres ouvertes"
End Sub2-A-2-g. OnTime▲
Cette méthode permet l'exécution d'une action à une heure définie.
Application.OnTime When:="15:55:00", Name:="Macro1"On peut aussi faire référence à un temp donné et ajouter une période.
Application.OnTime When:=Now + TimeValue("00:00:15"), _
Name:="Macro1"Si vous voulez que le code soit éxécuté, il est préférable de le mettre sur un évènement de l'application
2-A-2-h. Quit▲
Méthode qui permet de quitter l'application.
Application.Quit SaveChanges:=True, OriginalFormat:=wdWordDocumentCette méthode requiert trois paramètres qui sont facultatifs. SaveChanges -> Enregistrer les changements OriginalFormat -> Format d'enregistrement RouteDocument -> N'est pris en compte que lorsque le document à subit ou va subir un routage.
2-A-2-i. Repeat▲
Méthode qui permet de répéter une action ou serie d'action un certain nombre de fois. Attention, seule la dernière action est répétée.
01 Sub TestRepeat()
02 Selection.TypeText "Première ligne" & vbCrLf
03 Selection.TypeText "Seconde ligne" & vbCrLf
04 Application.Repeat
05
06 With Selection
07 .TypeText "Texte 1"
08 .TypeParagraph
09 .TypeText "Texte 2"
10 End With
11 Repeat
12
13
14 End SubSeules les lignes 03 et 09 sont répétées, même les actions dans le With sont séparées, et l'action de répétition ne s'effectue que sur la dernière ligne.
2-A-2-j. ResetIgnoreAll▲
Méthode simple, elle effece le contenu de la liste des mots précédemment ignorés lors d'une correction
orthographique du document.
Associée à une bouton on peu tfaire des merveille.
01 Sub ResetMots()
02 Application.ResetIgnoreAll
03 ActiveDocument.SpellingChecked = False
04 ActiveDocument.CheckSpelling
05 End SubOn va effacer le contenu de la liste des mots ignorés 02, signifier que la correction n'a pas eu lieu 03 et finalement recommencer la vérification 04.
2-A-2-k. ScreenRefresh▲
Associée à la propriété ScreenUpdating cette méthode permet de faire une mise à jour de l'affichage et ce même avant de remettre la propriété ScrenUpdating à True.
01 Sub OuvrirEtFermer()
02 Application.ScreenUpdating = False
03 Application.Documents.Add
04 Selection.TypeText "Bonjour"
05 Application.ScreenRefresh
06 ActiveDocument.SaveAs FileName:="MonDoc.docx"
07 ActiveDocument.Close
08 Application.ScreenUpdating = True
09 End SubOn fige l'écran 02, on ajoute un document 03, on y place le texte Bonjour 04, on raffraîchit l'écran 05, on sauve le document et on le ferme 06 et 07 pour réactiver l'affichage 08.
2-A-2-l. ShowClipboard▲
Permet d'afficher le volet presse papier.
Application.ShowClipboard2-A-3. Les Évènements▲
Word ne détecte pas beaucoup dévènements comparé aux autres applications de la suite Office. La méthode pour permettre à Word de détecter certains évènement est la suivante :
Il faut insérer un module de classe.

Renomer le module en EventClassModule
La première déclaration dans le module doit être la suivante :
Public WithEvents appWord As Word.ApplicationCette ligne de code sert à déclarer un objet Application et dans notre cas, une objet Application Word. L'objet est immédiatement disponible pour utilisation. Dans la liste déroulante permettant de choisir un objet, vous avez maintenant l'objet appWord qui est disponible.

La liste déroulante procédure permet de choisir la procédure qui sera ajoutée dans le module de classe.

Ensuite, dans n'importe quel module de votre choix, vous devez déclarer la ligne suivante :
Dim X As New EventClassModuleAvec cette ligne de code, vous allez pouvoir initialiser un objet application et le faire réagir aux évènement du module de classe. Il ne reste plus qu'à initialiser l'objet.
Sub Register_Event_Handler()
Set X.appWord = Word.Application
End SubVous pouvez faire appel à cette procédure dans votre procédure et Word réagira aux évènements.
2-A-3-a. DocumentBeforeClose▲
Évènement qui se produit avant la fermeture d'un document.
Private Sub appWord_DocumentBeforeClose (ByVal Doc As Document, Cancel As Boolean)
Dim intReponse As Integer
intReponse = MsgBox("Voulez-vous " _
& "fermer le document?", _
vbYesNo)
If intReponse = vbNo Then Cancel = True
End SubLa déclaration WithEvents est important si l'on veut détecter certains évènement. Le code ci-dessus est tiré de l'aide de Word.
2-A-3-b. DocumentBeforePrint▲
Se produit avant impression.
Private Sub appWord_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
Dim intResponse As Integer
Dim stPrinter As String
stPrinter = Application.ActivePrinter
intResponse = MsgBox("Vos allez imprimer sur " & stPrinter, vbYesNo)
If intResponse = vbNo Then Cancel = True
End Sub2-A-3-c. DocumentBeforeSave▲
Évènement qui se produit juste avant la sauvegarde du document.
Private Sub appWord_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
Dim intResponse As Integer
Dim stDefault As String
stDefault = Application.DefaultSaveFormat
intResponse = MsgBox("Voulez vous sauver votre document en '" & stDefault & "'", vbYesNo)
If intResponse = vbNo Then Cancel = True
End Sub2-A-3-d. DocumentChange▲
Se produit lors de la création d'un nouveau document, de l'ouverture d'un document existant ou de la sélection d'un autre document comme document actif.
Private Sub appWord_DocumentChange()
MsgBox "Le document a changé !"
End Sub2-A-3-e. DocumentOpen▲
Se produit à l'ouverture d'un document.
Private Sub appWord_DocumentOpen(ByVal Doc As Document)
MsgBox "Un document vient d'être ouvert !"
MsgBox Application.ActiveDocument.Name
End Sub2-A-3-f. DocumentSync▲
Se produit lorsque la copie locale d'un document faisant partie d'un espace de travail de document est synchronisée avec la copie sur le serveur.
Private Sub app_DocumentSync(ByVal Doc As Document, ByVal SyncEventType As Office.MsoSyncEventType)
End SubJe n'ai pu tester cet évènement, n'aynat pas d'espace de travail.
2-A-3-g. Serie d'évènement MailMerge▲
Pour la fusion et le publipostage, il existe plusieurs évènements :
| Évènement | Quand |
|---|---|
| MailMergeAfterMerge | Se produit après que tous les enregistrements d'une fusion ont été correctement fusionnés. |
| MailMergeAfterRecordMerge | Se produit après la fusion des différents enregistrements de la source de données dans une opération de publipostage. |
| MailMergeBeforeMerge | Se produit lorsqu'une fusion est exécutée avant qu'un enregistrement quelconque ait été fusionné. |
| MailMergeBeforeRecordMerge | Se produit lorsque la fusion d'un enregistrement particulier du publipostage est exécutée. |
| MailMergeDataSourceLoad | Se produit lorsque la source de données est chargée en vue d'une opération de publipostage. |
| MailMergeDataSourceValidate | Se produit lorsqu'un utilisateur valide des destinataires de publipostage en cliquant sur Valider dans la boîte de dialogue Destinataires du publipostage. |
| MailMergeDataSourceValidate2 | Survient lorsqu'un utilisateur valide les destinataires du publipostage en cliquant sur le bouton de lien Valider les adresses dans la boîte de dialogue Destinataires du publipostage. |
| MailMergeWizardSendToCustom | Se produit lorsque vous cliquez sur le bouton personnalisé à l'étape six de l'Assistant Fusion et publipostage. |
| MailMergeWizardStateChange | Se produit lorsqu'un utilisateur passe d'une étape spécifiée de l'Assistant Fusion et publipostage à une autre. |
2-A-3-h. NewDocument▲
Se produit lors de la création d'un document.
Private Sub appWord_NewDocument(ByVal Doc As Document)
MsgBox "Avec ce document, vous avez : " & Application.Documents.Count & " ouverts !"
End Sub2-A-3-i. Quit▲
Se produit lorsque l'utilisateur quitte Microsoft Office Word.
Je pense qu'il n'est pas utile d'en dire plus.
2-A-3-j. WindowActivate▲
Se produit lors de l'activation d'une fenêtre de document.
Private Sub appWord_WindowActivate _
(ByVal Wn As Word.Window)
Wn.WindowState = wdWindowStateMaximize
End Sub2-A-3-k. WindowBeforeDoubleClick▲
Se produit lorsqu'un utilisateur double-clique dans la zone d'édition d'une fenêtre de document avant le double-clic par défaut.
Private Sub appWord_WindowBeforeDoubleClick(ByVal Sel As Selection, Cancel As Boolean)
End Sub2-A-3-l. WindowBeforeRightClick▲
Se produit lorsqu'un utilisateur clique avec le bouton droit dans la zone d'édition d'une fenêtre de document avant le clic droit par défaut.
Private Sub appWord_WindowBeforeRightClick(ByVal Sel As Selection, Cancel As Boolean)
Dim intResponse As Integer
intResponse = MsgBox("Sélection = " & Sel & vbLf & vbLf _
& "Continuer avec cette sélection ?", _
vbYesNo)
If intResponse = vbNo Then Cancel = True
End Sub




