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 Office 2013 et Office 2010. Pour en savoir plus, 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.

7xy91eax.collapse_all(fr-fr,VS.110).gifÉ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

7xy91eax.collapse_all(fr-fr,VS.110).gifÉ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

[!REMARQUE]

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.

7xy91eax.collapse_all(fr-fr,VS.110).gifDé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.

[!REMARQUE]

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)
{
}

7xy91eax.collapse_all(fr-fr,VS.110).gifOrdre 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.

7xy91eax.collapse_all(fr-fr,VS.110).gifÉ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.

N'ajoutez pas le code dans le gestionnaire d'événements d' ThisAdd-In_Startup si le code a besoin d'un document d'être ouvert.À la place, ajoutez ce code à un événement que l'application Office déclenche lorsqu'un utilisateur crée ou ouvre un document.Pour plus d’informations, consultez Accès à un document lorsque l'application démarre Office.

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

7xy91eax.collapse_all(fr-fr,VS.110).gifÉ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é.

7xy91eax.collapse_all(fr-fr,VS.110).gifÉvénements d'arrêt dans les compléments Outlook

L'événement d' Shutdown est déclenché uniquement lorsque l'utilisateur désactive le complément à l'aide de la boîte de dialogue des 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 :

[!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é 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