Partager via


É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 :

  1. ThisWorkbook_Startup.

  2. Sheet1_Startup.

  3. Sheet2_Startup.

  4. Sheet3_Startup.

  5. Les autres feuilles dans l'ordre.

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

  1. ThisWorkbook_Shutdown.

  2. Sheet1_Shutdown.

  3. Sheet2_Shutdown.

  4. Sheet3_Shutdown.

  5. 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 :

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

Programmation de compléments d'application

Vue d'ensemble des modèles de projet Office