Événements dans les projets OfficeEvents in Office Projects

Chaque modèle de projet Office génère automatiquement plusieurs gestionnaires d'événements.Each Office project template automatically generates several event handlers. 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.The event handlers for document-level customizations are slightly different from event handlers for VSTO Add-ins.

S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de niveau document et aux projets de compléments VSTO.Applies to: The information in this topic applies to document-level projects and VSTO add-in projects. Consultez les fonctionnalités disponibles par Type de projet d’Application Office et.See Features Available by Office Application and Project Type.

Projets au niveau du documentDocument-Level Projects

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.Visual Studio provides generated code behind new or existing documents or worksheets in document-level customizations. Ce code déclenche deux événements différents : Startup et Shutdown.This code raises two different events: Startup and Shutdown.

Startup (événement)Startup Event

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.The Startup event is raised for each of the host items (document, workbook or worksheet) after the document is running and all the initialization code in the assembly has been run. Il s'agit de la dernière opération à exécuter dans le constructeur de la classe dans laquelle votre code est exécuté.It is the last thing to run in the constructor of the class that your code is running in. Pour plus d’informations sur les éléments hôtes, consultez Host Items and Host Controls Overview.For more information about host items, see Host Items and Host Controls Overview.

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 :When you create a document-level project, Visual Studio creates event handlers for the Startup event in the generated code files:

  • Pour les projets Microsoft Office Word, le gestionnaire d'événements s'appelle ThisDocument_Startup.For Microsoft Office Word projects, the event handler is named ThisDocument_Startup.

  • Pour les projets Microsoft Office Excel, les gestionnaires d'événements portent les noms suivants :For Microsoft Office Excel projects, the event handlers have the following names:

    • Sheet1_Startup

    • Sheet2_Startup

    • Sheet3_Startup

    • ThisWorkbook_Startup

Shutdown (événement)Shutdown Event

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é.The Shutdown event is raised for each of the host items (document or worksheet) when the application domain that your code is loaded in is about to unload. Il s'agit de la dernière opération à appeler dans la classe pendant le déchargement.It is the last thing to be called in the class as it unloads.

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 :When you create a document-level project, Visual Studio creates event handlers for the Shutdown event in the generated code files:

  • Pour les projets Microsoft Office Word, le gestionnaire d'événements s'appelle ThisDocument_Shutdown.For Microsoft Office Word projects, the event handler is named ThisDocument_Shutdown.

  • Pour les projets Microsoft Office Excel, les gestionnaires d'événements portent les noms suivants :For Microsoft Office Excel projects, the event handlers have the following names:

    • Sheet1_Shutdown

    • Sheet2_Shutdown

    • Sheet3_Shutdown

    • ThisWorkbook_Shutdown

Note

Ne supprimez pas les contrôles par programme quand le gestionnaire d'événements Shutdown du document est actif.Do not programmatically remove controls during the Shutdown event handler of the document. Les éléments d'interface utilisateur du document ne sont plus disponibles quand l'événement Shutdown se produit.The UI elements of the document are no longer available when the Shutdown event occurs. 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.If you want to remove controls before the application closes, add your code to another event handler, such as BeforeClose or BeforeSave.

Déclarations de méthode de gestionnaire d'événementsEvent Handler Method Declarations

Les mêmes arguments sont passés aux déclarations de méthode de gestionnaire d'événements : sender et e.Every event handler method declaration has the same arguments passed to it: sender and 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.In Excel, the sender argument refers to the sheet, such as Sheet1 or Sheet2; in Word, the sender argument refers to the document. L'argument e fait référence aux arguments standard d'un événement, qui ne sont pas utilisés dans ce cas.The e argument refers to the standard arguments for an event, which are not used in this case.

L'exemple de code suivant montre les gestionnaires d'événements par défaut dans les projets au niveau du document pour Word.The following code example shows the default event handlers in document-level projects for 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 montre les gestionnaires d'événements par défaut dans les projets au niveau du document pour Excel.The following code example shows the default event handlers in document-level projects for Excel.

Note

L'exemple de code suivant montre les gestionnaires d'événements dans la classe Sheet1 .The following code example shows the event handlers in the Sheet1 class. Les noms des gestionnaires d'événements des autres classes d'élément hôte correspondent au nom de la classe.The names of the event handlers in other host item classes correspond to the class name. Par exemple, dans la classe Sheet2 , le gestionnaire d'événements Startup s'appelle Sheet2_Startup.For example, in the Sheet2 class, the Startup event handler is named Sheet2_Startup. Dans la classe ThisWorkbook , le gestionnaire d'événements Startup s'appelle ThisWorkbook_Startup.In the ThisWorkbook class, the Startup event handler is named ThisWorkbook_Startup.

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

private void Sheet1_Shutdown(object sender, System.EventArgs e)
{
}
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

Ordre des événements dans les projets Excel au niveau du documentOrder of Events in Document-Level Excel Projects

Les gestionnaires d'événements Startup dans les projets Excel sont appelés dans l'ordre suivant :The Startup event handlers in Excel projects are called in this order:

  1. ThisWorkbook_Startup.ThisWorkbook_Startup.

  2. Sheet1_Startup.Sheet1_Startup.

  3. Sheet2_Startup.Sheet2_Startup.

  4. Sheet3_Startup.Sheet3_Startup.

  5. Autres feuilles dans l'ordre.Other sheets in order.

    Les gestionnaires d'événements Shutdown dans une solution de classeur sont appelés dans l'ordre suivant :The Shutdown event handlers in a workbook solution are called in this order:

  6. ThisWorkbook_Shutdown.ThisWorkbook_Shutdown.

  7. Sheet1_Shutdown.Sheet1_Shutdown.

  8. Sheet2_Shutdown.Sheet2_Shutdown.

  9. Sheet3_Shutdown.Sheet3_Shutdown.

  10. Autres feuilles dans l'ordre.Other sheets in order.

    L'ordre est déterminé lors de la compilation du projet.The order is determined when the project is compiled. 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é.If the user rearranges the sheets at run time, it does not change the order that the events are raised the next time the workbook is opened or closed.

Projets de complément VSTOVSTO Add-in Projects

Visual Studio fournit du code généré dans les compléments VSTO. Ce code déclenche deux événements différents : Startup et Shutdown.Visual Studio provides generated code in VSTO Add-ins. This code raises two different events: Startup and Shutdown.

Startup (événement)Startup Event

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é.The Startup event is raised after the VSTO Add-in is loaded and all the initialization code in the assembly has been run. Cet événement est géré par la méthode ThisAddIn_Startup dans le fichier de code généré.This event is handled by the ThisAddIn_Startup method in the generated code file.

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 .Code in the ThisAddIn_Startup event handler is the first user code to run, unless your VSTO Add-in overrides the RequestComAddInAutomationService method. Dans ce cas, le gestionnaire d'événements ThisAddIn_Startup est appelé après RequestComAddInAutomationService.In this case, the ThisAddIn_Startup event handler is called after RequestComAddInAutomationService.

N’ajoutez pas de code dans le ThisAdd-In_Startup Gestionnaire d’événements si le code nécessite un document ouvert.Don't add code in the ThisAdd-In_Startup event handler if the code requires a document to be open. 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.Instead, add that code to an event that the Office application raises when a user creates or opens a document. Pour plus d'informations, consultez Accès à un document lorsque l'application Office démarre.For more information, see Accessing a Document When the Office Application Starts.

Pour plus d’informations sur la séquence de démarrage des Compléments VSTO, consultez Architecture des particuliers.For more information about the startup sequence of VSTO Add-ins, see Architecture of VSTO Add-ins.

Shutdown (événement)Shutdown Event

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é.The Shutdown event is raised when the application domain that your code is loaded in is about to be unloaded. Cet événement est géré par la méthode ThisAddIn_Shutdown dans le fichier de code généré.This event is handled by the ThisAddIn_Shutdown method in the generated code file. Ce gestionnaire d’événements est le dernier code utilisateur à être exécuté quand le complément VSTO est déchargé.This event handler is the last user code to run when the VSTO Add-in is unloaded.

Événement Shutdown dans les compléments VSTO OutlookShutdown Event in Outlook VSTO Add-ins

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.The Shutdown event is raised only when the user disables the VSTO Add-in by using the COM Add-ins dialog box in Outlook. Il n'est pas déclenché quand vous quittez Outlook.It is not raised when Outlook exits. Si vous disposez de code devant être exécuté quand vous quittez Outlook, gérez l'un ou l'autre des événements suivants :If you have code that must run when Outlook exits, handle either of the following events:

Note

Vous pouvez forcer Outlook à déclencher l'événement Shutdown au moment de sa fermeture en modifiant le Registre.You can force Outlook to raise the Shutdown event when it exits by modifying the registry. 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.However, if an administrator reverts this setting, any code that you add to the ThisAddIn_Shutdown method no longer runs when Outlook exits. Pour plus d’informations, consultez Modifications de l’arrêt d’Outlook 2010.For more information, see Shutdown Changes for Outlook 2010.

Voir aussiSee Also

Développement de Solutions Office Developing Office Solutions
Comment : créer des projets Office dans Visual Studio How to: Create Office Projects in Visual Studio
Programmation des personnalisations au niveau du Document Programming Document-Level Customizations
Programming VSTO Add-Ins Programming VSTO Add-Ins
Vue d’ensemble des modèles de projet OfficeOffice Project Templates Overview