Partager via


Volets de tâches personnalisés

Les volets de tâches sont des panneaux d’interface utilisateur qui sont généralement ancrés à un côté d’une fenêtre dans une application Microsoft Office. Les volets office personnalisés vous permettent de créer votre propre volet Office et de fournir aux utilisateurs une interface familière pour accéder aux fonctionnalités de votre solution. Par exemple, l’interface peut contenir des contrôles qui exécutent du code pour modifier des documents ou afficher des données à partir d’une source de données.

S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de complément VSTO pour Outlook. Pour plus d’informations, consultez Fonctionnalités disponibles par type d’application et de projet Office.

Note

Un volet Office personnalisé diffère du volet Actions. Le volet Actions fait partie des personnalisations au niveau du document pour Microsoft Office Word et Microsoft Office Excel. Pour plus d’informations, consultez la vue d’ensemble du volet Actions.

Avantages des volets de tâches personnalisés

Les volets Office personnalisés vous permettent d’intégrer vos fonctionnalités à une interface utilisateur familière. Vous pouvez créer rapidement un volet Office personnalisé à l’aide des outils Visual Studio.

Interface utilisateur familière

Les utilisateurs d’applications du système Microsoft Office sont déjà familiarisés avec l’utilisation de volets Office tels que le volet Styles et Mise en forme dans Word. Les volets office personnalisés se comportent comme d’autres volets office dans Microsoft Office System. Les utilisateurs peuvent ancrer des volets office personnalisés à différents côtés de la fenêtre d’application ou faire glisser des volets office personnalisés vers n’importe quel emplacement de la fenêtre. Vous pouvez créer un complément VSTO qui affiche plusieurs volets office personnalisés en même temps, et les utilisateurs peuvent contrôler chaque volet office individuellement.

Prise en charge de Windows Forms

L’interface utilisateur d’un volet Office personnalisé que vous créez à l’aide des outils de développement Office dans Visual Studio est basée sur des contrôles Windows Forms. Vous pouvez utiliser le Concepteur Windows Forms familier pour concevoir l’interface utilisateur d’un volet Office personnalisé. Vous pouvez également utiliser la prise en charge de la liaison de données dans Windows Forms pour lier une source de données aux contrôles dans le volet des tâches.

Créer un volet Office personnalisé

Vous pouvez créer un volet Office personnalisé de base en deux étapes :

  1. Créez une interface utilisateur pour votre volet Office personnalisé en ajoutant des contrôles Windows Forms à un UserControl objet.

  2. Instanciez le volet de tâches personnalisé en passant le contrôle utilisateur à l’objet CustomTaskPaneCollection dans votre complément VSTO. Cette collection retourne un nouvel CustomTaskPane objet que vous pouvez utiliser pour modifier l’apparence du volet Office et répondre aux événements utilisateur.

    Pour plus d’informations, consultez Guide pratique pour ajouter un volet Office personnalisé à une application.

Créer l’interface utilisateur

Tous les volets office personnalisés créés à l’aide des outils de développement Office dans Visual Studio contiennent un UserControl objet. Ce contrôle utilisateur fournit l’interface utilisateur de votre volet Office personnalisé. Vous pouvez créer le contrôle utilisateur au moment du design ou au moment de l’exécution. Si vous créez le contrôle utilisateur à la conception, vous pouvez utiliser le designer Windows Forms pour construire l’interface utilisateur de votre volet des tâches.

Instancier le volet Office personnalisé

Après avoir créé un contrôle utilisateur qui contient l’interface utilisateur du volet Office personnalisé, vous devez instancier un CustomTaskPane. Pour ce faire, transmettez le contrôle utilisateur au CustomTaskPaneCollection dans votre complément VSTO en appelant une des méthodes Add. Cette collection est exposée comme champ CustomTaskPanes de la classe ThisAddIn. L’exemple de code suivant est destiné à être exécuté à partir de la ThisAddIn classe.

myUserControl1 = new MyUserControl();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");
myCustomTaskPane.Visible = true;

Les Add méthodes retournent un nouvel CustomTaskPane objet. Vous pouvez utiliser cet objet pour modifier l’apparence du volet des tâches et répondre aux actions des utilisateurs.

Contrôler le volet des tâches dans plusieurs fenêtres

Les volets Office personnalisés sont associés à une fenêtre de cadre de document, qui présente une vue d’un document ou d’un élément à l’utilisateur. Le volet Office est visible uniquement lorsque la fenêtre associée est visible.

Pour déterminer la fenêtre qui affiche le volet Office personnalisé, utilisez la surcharge de méthode appropriée Add lorsque vous créez le volet Office :

  • Pour associer le volet Office à la fenêtre active, utilisez la méthode Add.

  • Pour associer le volet des tâches à un document hébergé par une fenêtre spécifiée, utilisez la méthode Add.

    Certaines applications Office nécessitent des instructions explicites pour la création ou l’affichage de votre volet Office lorsque plusieurs fenêtres sont ouvertes. Cela rend important de prendre en compte où instancier le volet Office personnalisé dans votre code pour vous assurer que le volet Office s’affiche avec les documents ou éléments appropriés dans l’application. Pour plus d’informations, consultez Gérer les volets de tâches personnalisés dans les fenêtres d’application.

Pour accéder à l’application à partir du volet des tâches

Si vous souhaitez automatiser l’application à partir du contrôle utilisateur, vous pouvez accéder directement au modèle objet à l’aide Globals.ThisAddIn.Application de votre code. La classe statique Globals fournit l’accès à l’objet ThisAddIn . Le Application champ de cet objet est le point d’entrée dans le modèle objet de l’application.

Pour plus d’informations sur le Application champ de l’objet ThisAddIn, consultez Compléments pour programmes VSTO. Pour obtenir une procédure pas à pas qui montre comment automatiser une application à partir d’un volet Office personnalisé, consultez Procédure pas à pas : Automatisation d’une application à partir d’un volet Office personnalisé. Pour plus d’informations sur la Globals classe, consultez l’accès global aux objets dans les projets Office.

Gérer l’interface utilisateur du volet des tâches

Après avoir créé le volet Office, vous pouvez utiliser des propriétés et des événements de l’objet CustomTaskPane pour contrôler l’interface utilisateur du volet Office et répondre lorsque l’utilisateur modifie le volet Office.

Rendre le volet de tâche personnalisé visible

Par défaut, le volet Office n’est pas visible. Pour rendre le volet Office visible, vous devez définir la Visible propriété sur true.

Les utilisateurs peuvent fermer un volet Office à tout moment en cliquant sur le bouton Fermer (X) dans le coin du volet Office. Toutefois, il n’existe aucun moyen par défaut pour les utilisateurs d’ouvrir à nouveau le volet Office personnalisé. Si un utilisateur ferme un volet Office personnalisé, cet utilisateur ne peut pas afficher à nouveau le volet Office personnalisé, sauf si vous fournissez un moyen de l’afficher.

Si vous créez un volet Office personnalisé dans votre complément VSTO, vous devez également créer un élément d’interface utilisateur, tel qu’un bouton, que les utilisateurs peuvent cliquer pour afficher ou masquer votre volet Office personnalisé. Si vous créez un volet Office personnalisé dans une application Microsoft Office prenant en charge la personnalisation du ruban, vous pouvez ajouter un groupe de contrôles au ruban avec un bouton qui affiche ou masque votre volet Office personnalisé. Pour obtenir une procédure pas à pas qui montre comment procéder, consultez Procédure pas à pas : Synchroniser un volet Office personnalisé avec un bouton du Ruban.

Si vous créez un volet Office personnalisé dans une application Microsoft Office qui ne prend pas en charge la personnalisation du ruban, vous pouvez ajouter un CommandBarButton affichage ou masquer votre volet Office personnalisé.

Modifier l’apparence du volet Office

Vous pouvez contrôler la taille et l’emplacement d’un volet Office personnalisé à l’aide des propriétés de l’objet CustomTaskPane . Vous pouvez apporter de nombreuses autres modifications à l’apparence d’un volet Office personnalisé à l’aide des propriétés de l’objet UserControl contenu dans le volet Office personnalisé. Par exemple, vous pouvez spécifier une image d’arrière-plan pour un volet Office personnalisé à l’aide de la BackgroundImage propriété du contrôle utilisateur.

Le tableau suivant répertorie les modifications que vous pouvez apporter à un volet Office personnalisé en utilisant les propriétés CustomTaskPane.

Tâche Propriété
Pour modifier la taille du volet des tâches Height

Width
Pour modifier l’emplacement du volet Office DockPosition
Pour masquer le volet Office ou le rendre visible Visible
Pour empêcher l’utilisateur de modifier l’emplacement du volet des tâches DockPositionRestrict

Programmer des événements de volet de tâches personnalisés

Vous souhaiterez peut-être que votre complément VSTO réponde lorsque l’utilisateur modifie le volet Office personnalisé. Par exemple, si l’utilisateur modifie l’orientation du volet de vertical en horizontal, vous souhaiterez peut-être repositionner les contrôles.

Le tableau suivant répertorie les événements que vous pouvez gérer pour répondre aux modifications apportées par l’utilisateur au volet Office personnalisé.

Tâche Événement
Pour réagir lorsque l’utilisateur modifie l’emplacement du volet Office. DockPositionChanged
Pour répondre lorsque l’utilisateur masque le volet Office ou le rend visible. VisibleChanged

Nettoyer les ressources utilisées par le volet Office

Après avoir créé un volet Office personnalisé, l’objet CustomTaskPane reste en mémoire tant que votre complément VSTO est en cours d’exécution. L’objet reste en mémoire même après que l’utilisateur clique sur le bouton Fermer (X) dans le coin du volet Office.

Pour nettoyer les ressources utilisées par le volet Office pendant que le complément VSTO est toujours en cours d’exécution, utilisez les méthodes Remove ou RemoveAt. Ces méthodes suppriment l’objet spécifié CustomTaskPane de la CustomTaskPanes collection et appellent la Dispose méthode de l’objet.

Le runtime de Visual Studio Tools pour Office nettoie automatiquement les ressources utilisées par le volet Office personnalisé lorsqu'on décharge le complément VSTO. N’appelez pas les méthodes Remove ou RemoveAt dans le gestionnaire d’événements ThisAddIn_Shutdown de votre projet. Ces méthodes génèrent un ObjectDisposedException élément, car Visual Studio Tools pour Office nettoie les ressources utilisées par l'objet avant que ThisAddIn_Shutdown soit appelé. Pour plus d’informations sur ThisAddIn_Shutdown, consultez Événements dans les projets Office.

Gérer les volets de tâches personnalisés dans différentes fenêtres d’application

Lorsque vous créez un volet Office personnalisé dans une application qui utilise plusieurs fenêtres pour afficher des documents et d’autres éléments, vous devez effectuer des étapes supplémentaires pour vous assurer que le volet Office est visible lorsque l’utilisateur s’attend à ce qu’il soit.

Les volets personnalisés de toutes les applications sont associés à une fenêtre-cadre de document, qui présente une vue d’un document ou d’un élément à l’utilisateur. Le volet Office est visible uniquement lorsque la fenêtre associée est visible. Toutefois, toutes les applications n’utilisent pas les fenêtres frame de document de la même façon.

Les groupes d’applications suivants ont des exigences de développement différentes :

Outlook

Lorsque vous créez un volet Office personnalisé pour Outlook, le volet Office personnalisé est associé à une fenêtre Explorateur ou Inspecteur spécifique. Les explorateurs sont des fenêtres qui affichent le contenu d’un dossier, et les inspecteurs sont des fenêtres qui affichent un élément tel qu’un message électronique ou une tâche.

Si vous souhaitez afficher un volet Office personnalisé avec plusieurs fenêtres Explorateur ou Inspecteur, vous devez créer une instance du volet Office personnalisé quand une fenêtre Explorateur ou Inspecteur s’ouvre. Pour ce faire, gérez un événement déclenché lorsqu’une fenêtre Explorateur ou Inspecteur est créée, puis créez le volet des tâches dans le gestionnaire de cet événement. Vous pouvez également gérer les événements Explorateur et Inspector pour masquer ou afficher des volets office en fonction de la fenêtre visible.

Pour associer le volet des tâches à un Explorateur ou un Inspecteur spécifique, utilisez la Add méthode pour créer le volet des tâches et transmettez l’objet Explorer ou Inspector au paramètre window. Pour plus d’informations sur la création de volets office personnalisés, consultez vue d’ensemble des volets Office personnalisés.

Empêcher la multiplication des instances d'un volet Office personnalisé dans Outlook

Pour empêcher les fenêtres Outlook d’afficher plusieurs instances d’un volet Office personnalisé, supprimez explicitement le volet Office personnalisé de la CustomTaskPanes collection de la ThisAddIn classe lorsque chaque fenêtre est fermée. Appelez la Remove méthode dans un événement déclenché lorsqu’une fenêtre est fermée, telle que Close ou Close.

Si vous ne supprimez pas explicitement le volet Office personnalisé, les fenêtres Outlook peuvent afficher plusieurs instances du volet Office personnalisé. Outlook recycle parfois les fenêtres et les fenêtres recyclées conservent des références à tous les volets Office personnalisés qui ont été attachés à eux.

Word, InfoPath et PowerPoint

Word, InfoPath et PowerPoint affichent chaque document dans une fenêtre de cadre de document différente. Lorsque vous créez un volet Office personnalisé pour ces applications, le volet Office personnalisé n’est associé qu’à un document spécifique. Si l’utilisateur ouvre un autre document, le volet Office personnalisé est masqué jusqu’à ce que le document précédent soit à nouveau visible.

Si vous souhaitez afficher un volet Office personnalisé avec plusieurs documents, créez une nouvelle instance du volet Office personnalisé lorsque l’utilisateur crée un document ou ouvre un document existant. Pour ce faire, gérez les événements déclenchés lorsqu’un document est créé ou ouvert, puis créez le volet des tâches dans les gestionnaires d’événements. Vous pouvez également gérer les événements de document pour masquer ou afficher des volets des tâches en fonction du document visible.

Pour associer le volet Office à une fenêtre de document spécifique, utilisez la Add méthode pour créer le volet Office et passer un Window (pour Word), WindowObject (pour InfoPath) ou DocumentWindow (pour PowerPoint) au paramètre de fenêtre .

Événements Word

Pour surveiller l’état des fenêtres de document dans Word, vous pouvez gérer les événements suivants :

Événements InfoPath

Pour surveiller l’état des fenêtres de document dans InfoPath, vous pouvez gérer les événements suivants :

Événements PowerPoint

Pour surveiller l’état des fenêtres de document dans PowerPoint, vous pouvez gérer les événements suivants :