Événements dans les projets Office
Chaque modèle de projet Office génère automatiquement plusieurs gestionnaires d'événements. Les gestionnaires d'événements des personnalisations au niveau du document sont légèrement différents de ceux des compléments au niveau de l'application.
S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Microsoft Office 2010 et la version 2007 de Microsoft® Office System. Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet Office.
Projets au niveau du document
Visual Studio fournit du code behind généré pour les documents ou feuilles de calcul nouveaux ou existants dans les personnalisations au niveau du document. Ce code déclenche deux événements différents : Startup et Shutdown.
Événement Startup
L'événement Startup est déclenché pour chacun des éléments hôtes (document, classeur ou feuille de calcul) après l'exécution du document et de tout le code d'initialisation de l'assembly. Il s'agit de la dernière opération à exécuter dans le constructeur de la classe dans laquelle votre code est exécuté. Pour plus d'informations sur les éléments hôtes, consultez Vue d'ensemble des éléments hôtes et des contrôles hôtes.
Lorsque vous créez un projet au niveau du document, Visual Studio crée des gestionnaires d'événements pour l'événement Startup dans les fichiers de code générés :
Pour les projets Microsoft Office Word, le gestionnaire d'événements s'appelle ThisDocument_Startup.
Pour les projets Microsoft Office Excel, les gestionnaires d'événements portent les noms suivants :
Sheet1_Startup
Sheet2_Startup
Sheet3_Startup
ThisWorkbook_Startup
Événement Shutdown
L'événement Shutdown est déclenché pour chacun des éléments hôtes (document ou feuille de calcul) lorsque le domaine d'application dans lequel votre code est chargé est sur le point d'être déchargé. Il s'agit de la dernière opération à appeler dans la classe pendant le déchargement.
Lorsque vous créez un projet au niveau du document, Visual Studio crée des gestionnaires d'événements pour l'événement Shutdown dans les fichiers de code générés :
Pour les projets Microsoft Office Word, le gestionnaire d'événements s'appelle ThisDocument_Shutdown.
Pour les projets Microsoft Office Excel, les gestionnaires d'événements portent les noms suivants :
Sheet1_Shutdown
Sheet2_Shutdown
Sheet3_Shutdown
ThisWorkbook_Shutdown
Notes
Ne supprimez pas les contrôles par programmation lorsque le gestionnaire d'événements Shutdown du document est actif. Les éléments d'interface du document ne sont plus disponibles lorsque l'événement Shutdown se produit. Pour supprimer les contrôles avant la fermeture de l'application, ajoutez votre code à un autre gestionnaire d'événements tel que BeforeClose ou BeforeSave.
Déclarations de méthode de gestionnaire d'événements
Les mêmes arguments sont passés aux déclarations de méthode de gestionnaire d'événements : sender et e. Dans Excel, l'argument sender fait référence à la feuille, par exemple Sheet1 ou Sheet2 ; dans Word, l'argument sender fait référence au document. L'argument e fait référence aux arguments standard d'un événement, qui ne sont pas utilisés dans ce cas.
L'exemple de code suivant affiche les gestionnaires d'événements par défaut des projets au niveau du document pour Word.
Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Startup
End Sub
Private Sub ThisDocument_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Shutdown
End Sub
private void ThisDocument_Startup(object sender, System.EventArgs e)
{
}
private void ThisDocument_Shutdown(object sender, System.EventArgs e)
{
}
L'exemple de code suivant affiche les gestionnaires d'événements par défaut des projets au niveau du document pour Excel.
Notes
L'exemple de code suivant affiche les gestionnaires d'événements dans la classe Sheet1. Les noms des gestionnaires d'événements des autres classes d'élément hôte correspondent au nom de la classe. Par exemple, le gestionnaire d'événements Startup s'appelle Sheet2_Startup dans la classe Sheet2. Le gestionnaire d'événements Startup est appelé ThisWorkbook_Startup dans la classe ThisWorkbook.
Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Startup
End Sub
Private Sub Sheet1_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Shutdown
End Sub
private void Sheet1_Startup(object sender, System.EventArgs e)
{
}
private void Sheet1_Shutdown(object sender, System.EventArgs e)
{
}
Ordre des événements dans les projets Excel au niveau du document
Les gestionnaires d'événements Startup des projets Excel sont appelés dans l'ordre suivant :
ThisWorkbook_Startup.
Sheet1_Startup.
Sheet2_Startup.
Sheet3_Startup.
Les autres feuilles dans l'ordre.
Les gestionnaires d'événements Shutdown d'une solution de classeur sont appelés dans l'ordre suivant :
ThisWorkbook_Shutdown.
Sheet1_Shutdown.
Sheet2_Shutdown.
Sheet3_Shutdown.
Les autres feuilles dans l'ordre.
L'ordre est déterminé lors de la compilation du projet. Si l'utilisateur réorganise les feuilles au moment de l'exécution, il ne change pas l'ordre dans lequel les événements sont déclenchés la prochaine fois que le classeur est ouvert ou fermé.
Projets au niveau de l'application
Visual Studio fournit du code généré dans les compléments d'application. Ce code déclenche deux événements différents : Startup et Shutdown.
Événement Startup
L'événement Startup est déclenché une fois que le complément est chargé et que tout le code d'initialisation de l'assembly a été exécuté. Cet événement est géré par la méthode ThisAddIn_Startup dans le fichier de code généré.
Le code du gestionnaire d'événements ThisAddIn_Startup est le premier code utilisateur à être exécuté, sauf si votre complément se substitue à la méthode RequestComAddInAutomationService. Dans ce cas, le gestionnaire d'événements ThisAddIn_Startup est appelé après RequestComAddInAutomationService. Dans les compléments destinés à la version 2007 de Microsoft Office System, le code gestionnaire d'événements ThisAddIn_Startup peut également être appelé après la méthode RequestService, si votre complément se substitue à cette méthode.
Pour plus d'informations sur la séquence de démarrage des compléments, consultez Architecture des compléments d'application.
Événement Shutdown
L'événement Shutdown est déclenché lorsque le domaine d'application dans lequel votre code est chargé est sur le point d'être déchargé. Cet événement est géré par la méthode ThisAddIn_Shutdown dans le fichier de code généré. Ce gestionnaire d'événements est le dernier code utilisateur à être exécuté lorsque le complément est déchargé.
Événement d'arrêt dans les compléments Outlook 2010
Pour les compléments chargés dans Outlook 2010, l'événement Shutdown est déclenché uniquement lorsque l'utilisateur désactive le complément à l'aide de la boîte de dialogue Compléments COM dans Outlook. Il n'est pas déclenché lorsque vous quittez Outlook. Si vous disposez de code devant être exécuté une fois Outlook fermé, gérez l'un ou l'autre des événements suivants :
Événement Quit de l'objet Application.
Notes
Vous pouvez forcer Outlook à déclencher l'événement Shutdown au moment de sa fermeture en modifiant le Registre. Toutefois, si un administrateur annule ce paramètre, tout code que vous ajouterez à la méthode ThisAddIn_Shutdown ne sera plus exécuté au moment de la fermeture d'Outlook. Pour plus d'informations, consultez Modifications de l'arrêt d'Outlook 2010.
Voir aussi
Tâches
Comment : créer des projets Office dans Visual Studio
Autres ressources
Développement de solutions Office
Programmation de personnalisations au niveau du document