Événements dans les projets Bureau

Chaque modèle de projet Office génère automatiquement plusieurs gestionnaires d'événements. Les gestionnaires d’événements pour les personnalisations au niveau du document sont légèrement différents de ceux pour les compléments VSTO.

S’applique à : les informations contenues dans cette rubrique s’appliquent aux projets au niveau du document et aux projets de complément VSTO. Consultez les fonctionnalités disponibles par application Office lication et le type de projet.

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.

Startup (événement)

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 dans 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 la vue d’ensemble des éléments hôtes et des contrôles hôtes.

Quand 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

Shutdown (événement)

L'événement Shutdown est déclenché pour chacun des éléments hôtes (document ou feuille de calcul) quand 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.

Quand 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

Remarque

Ne supprimez pas les contrôles par programme quand le gestionnaire d'événements Shutdown du document est actif. Les éléments d'interface utilisateur du document ne sont plus disponibles quand 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 du 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 montre les gestionnaires d'événements par défaut dans les projets au niveau du document pour Word.

private void ThisDocument_Startup(object sender, System.EventArgs e)
{
}

private void ThisDocument_Shutdown(object sender, System.EventArgs e)
{
}

L'exemple de code suivant montre les gestionnaires d'événements par défaut dans les projets au niveau du document pour Excel.

Remarque

L'exemple de code suivant montre 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, dans la classe Sheet2 , le gestionnaire d'événements Startup s'appelle Sheet2_Startup. Dans la classe ThisWorkbook , le gestionnaire d'événements Startup s'appelle ThisWorkbook_Startup.

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 dans les projets Excel sont appelés dans l'ordre suivant :

  1. ThisWorkbook_Startup.

  2. Sheet1_Startup.

  3. Sheet2_Startup.

  4. Sheet3_Startup.

  5. Autres feuilles dans l'ordre.

    Les gestionnaires d'événements Shutdown dans une solution de classeur sont appelés dans l'ordre suivant :

  6. ThisWorkbook_Shutdown.

  7. Sheet1_Shutdown.

  8. Sheet2_Shutdown.

  9. Sheet3_Shutdown.

  10. 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 de complément VSTO

Visual Studio fournit du code généré dans des compléments VSTO. Ce code déclenche deux événements différents : Startup et Shutdown.

Startup (événement)

L’événement Startup est déclenché une fois que le complément VSTO est chargé et que tout le code d’initialisation dans 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 dans le gestionnaire d’événements ThisAddIn_Startup est le premier code utilisateur à être exécuté, sauf si votre complément VSTO se substitue à la méthode RequestComAddInAutomationService . Dans ce cas, le gestionnaire d'événements ThisAddIn_Startup est appelé après RequestComAddInAutomationService.

N’ajoutez pas de code dans le ThisAdd-In_Startup gestionnaire d’événements si le code nécessite l’ouverture d’un document. Au lieu de cela, ajoutez ce code à un événement que l'application Office déclenche quand un utilisateur crée ou ouvre un document. Pour plus d’informations, consultez Accéder à un document au démarrage de la application Office lication.

Pour plus d’informations sur la séquence de démarrage des compléments VSTO, consultez Architecture des compléments VSTO.

Shutdown (événement)

L'événement Shutdown est déclenché quand 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é quand le complément VSTO est déchargé.

Événement d’arrêt dans les compléments VSTO Outlook

L’événement Shutdown est déclenché uniquement quand l’utilisateur désactive le complément VSTO à l’aide de la boîte de dialogue Compléments COM dans Outlook. Il n'est pas déclenché quand vous quittez Outlook. Si vous disposez de code devant être exécuté quand vous quittez Outlook, gérez l'un ou l'autre des événements suivants :

Remarque

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é après la fermeture d'Outlook. Pour plus d’informations, consultez Les modifications d’arrêt pour Outlook 2010.