Volets de tâches personnalisés

Les volets de tâches sont des panneaux d'interface utilisateur généralement ancrés à l'un des côtés d'une fenêtre dans une application Microsoft Office. Les volets de tâches personnalisés vous permettent de créer votre propre volet de tâches et de fournir aux utilisateurs une interface familière pour accéder aux fonctionnalités de votre solution. Par exemple, l'interface peut comporter des contrôles exécutant 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 application Office lication et le type de projet.

Remarque

Un volet de tâches 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 Office personnalisés

Les volets de tâches personnalisés vous permettent d'intégrer vos propres fonctionnalités dans une interface utilisateur familière. Vous pouvez créer rapidement un volet de tâches personnalisé à l'aide des outils Visual Studio.

Interface utilisateur familière

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

Prise en charge de Windows Forms

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

Créer un volet Office personnalisé

Vous pouvez créer un volet de tâches personnalisé de base en deux étapes :

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

  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 objet CustomTaskPane pouvant servir à modifier l'apparence du volet de tâches 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 de tâches personnalisés créés à l’aide des outils de développement Office dans Visual Studio contiennent un objet UserControl. Ce contrôle utilisateur fournit l'interface utilisateur de votre volet de tâches personnalisé. Vous pouvez créer le contrôle utilisateur au moment du design ou au moment de l’exécution. Si vous le créez au moment du design, vous pouvez utiliser le concepteur Windows Forms pour construire l'interface utilisateur de votre volet de tâches.

Instancier le volet Office personnalisé

Après avoir créé un contrôle utilisateur contenant l'interface utilisateur du volet de tâches personnalisé, vous devez instancier un objet CustomTaskPane. Pour cela, passez le contrôle utilisateur à l’objet CustomTaskPaneCollection de votre complément VSTO en appelant l’une des méthodes Add. Cette collection est exposée en tant que champ CustomTaskPanes de la classe ThisAddIn. L'exemple de code suivant est destiné à être exécuté à partir de la classe ThisAddIn.

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

Les méthodes Add retournent un nouvel objet CustomTaskPane. Vous pouvez utiliser cet objet pour modifier l'apparence du volet de tâches et répondre aux événements utilisateur.

Contrôler le volet Office dans plusieurs fenêtres

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

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

  • Pour associer le volet de tâches à la fenêtre active, utilisez la méthode Add.

  • Pour associer le volet de 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 savoir quand créer ou afficher votre volet de tâches, quand plusieurs fenêtres sont ouvertes. Il est donc important de se demander où instancier le volet de tâches personnalisé dans votre code pour vous assurer que ce volet s'affiche avec les documents et éléments appropriés dans l'application. Pour plus d’informations, consultez Gérer les volets Office personnalisés dans les fenêtres d’application.

Accéder à l’application à partir du volet Office

Pour automatiser l'application à partir du contrôle utilisateur, vous pouvez directement accéder au modèle objet en utilisant Globals.ThisAddIn.Application dans votre code. La classe Globals statique permet d'accéder à l'objet ThisAddIn. Le champ Application 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 Les compléments VSTO program. Pour obtenir une procédure pas à pas qui montre comment automatiser une application à partir d’un volet Office personnalisé, consultez Procédure pas à pas : Automatique 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 Bureau projets.

Gérer l’interface utilisateur du volet Office

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

Rendre le volet Office personnalisé visible

Par défaut, le volet de tâches 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 pas de méthode par défaut permettant de rouvrir le volet de tâches personnalisé. Si un utilisateur ferme un volet de tâches personnalisé, il ne peut pas l'afficher de nouveau à moins que vous lui fournissiez un moyen de le faire.

Si vous créez un volet de tâches personnalisé dans votre complément VSTO, vous devez également créer un élément d'interface utilisateur, tel qu'un bouton, sur lequel les utilisateurs peuvent cliquer pour afficher ou masquer le volet de tâches personnalisé. Si vous créez un volet de tâches personnalisé dans une application Microsoft Office qui prend en charge la personnalisation du ruban, vous pouvez ajouter un groupe de contrôles au ruban avec un bouton permettant d'afficher ou de masquer le volet de tâches 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 ruban.

Si vous créez un volet de tâches personnalisé dans une application Microsoft Office qui ne prend en charge la personnalisation du ruban, vous pouvez ajouter un objet CommandBarButton permettant d'afficher ou de masquer le volet de tâches personnalisé.

Modifier l’apparence du volet Office

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

Le tableau suivant répertorie les modifications que vous pouvez apporter à un volet de tâches personnalisé à l'aide des propriétés CustomTaskPane.

Tâche Propriété
Modifier la taille du volet de tâches Height

Width
Modifier l'emplacement du volet de tâches DockPosition
Masquer et rendre visible le volet de tâches Visible
Empêcher l'utilisateur de modifier l'emplacement du volet de tâches DockPositionRestrict

Programmer des événements de volet Office personnalisés

Vous souhaitez peut-être que votre complément VSTO réponde quand l'utilisateur modifie le volet de tâches personnalisé. Par exemple, si l'utilisateur remplace l'orientation verticale du volet par l'orientation horizontale, vous pouvez repositionner les contrôles.

Le tableau suivant répertorie les événements que vous pouvez gérer pour répondre aux modifications susceptibles d'être apportées par l'utilisateur dans le volet de tâches personnalisé.

Tâche Event
Répondre quand l'utilisateur modifie l'emplacement du volet de tâches DockPositionChanged
Répondre quand l'utilisateur masque ou rend visible le volet de tâches VisibleChanged

Nettoyer les ressources utilisées par le volet Office

Une fois que vous avez créé un volet de tâches 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 de tâches alors que le complément VSTO est encore en cours d’exécution, utilisez les méthodes Remove ou RemoveAt. Ces méthodes suppriment l’objet CustomTaskPane spécifié de la collection CustomTaskPanes, et elles appellent la méthode Dispose de l’objet.

Le runtime Visual Studio Tools pour Office propre automatiquement les ressources utilisées par le volet Office personnalisé lorsque le complément VSTO est déchargé. N’appelez pas les méthodes ou RemoveAt les Remove méthodes dans le ThisAddIn_Shutdown gestionnaire d’événements de votre projet. Ces méthodes lèvent un ObjectDisposedExceptionélément, car le runtime Visual Studio Tools pour Office propre les ressources utilisées par l’objet avant ThisAddIn_Shutdown d’être CustomTaskPane appelées. Pour plus d’informations sur ThisAddIn_Shutdownles événements, consultez Événements dans Bureau projets.

Gérer les volets Office personnalisés dans plusieurs fenêtres d’application

Quand vous créez un volet de tâches personnalisé dans une application qui utilise plusieurs fenêtres pour afficher des documents et d'autres éléments, vous devez prendre des mesures supplémentaires pour garantir l'affichage du volet de tâches quand l'utilisateur s'attend à le voir.

Dans toutes les applications, les volets de tâches personnalisés sont associés à une fenêtre frame de document, qui présente une vue d’un document ou d’un élément à l’utilisateur. Le volet de tâches est visible uniquement quand 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 différentes en termes de développement :

Outlook

Quand vous créez un volet de tâches personnalisé pour Outlook, le volet est associé à une fenêtre d’explorateur ou d’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.

Pour afficher un volet de tâches personnalisé avec plusieurs fenêtres d’explorateur ou d’inspecteur, vous devez créer une nouvelle instance du volet de tâches personnalisé quand une fenêtre d’explorateur ou d’inspecteur s’ouvre. Pour cela, gérez un événement qui se déclenche quand une fenêtre d'explorateur ou d'inspecteur est créée, puis créez le volet de tâches dans le gestionnaire d'événements. Vous pouvez également gérer les événements d’explorateur et d’inspecteur pour masquer ou afficher les volets de tâches en fonction de la fenêtre visible.

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

Empêcher plusieurs instances d’un volet Office personnalisé dans Outlook

Pour empêcher les fenêtres Outlook d'afficher plusieurs instances d'un volet de tâches personnalisé, supprimez explicitement le volet de tâches personnalisé de la collection CustomTaskPanes de la classe ThisAddIn quand chaque fenêtre est fermée. Appelez la méthode Remove dans un événement qui est déclenché quand une fenêtre est fermée, tel que Close ou Close.

Si vous ne supprimez pas explicitement le volet de tâches personnalisé, les fenêtres Outlook peuvent afficher plusieurs instances du volet de tâches personnalisé. Outlook recycle parfois des fenêtres. Ces fenêtres recyclées conservent les références aux éventuels volets de tâches personnalisés qui leur ont été attachés.

Word, InfoPath et PowerPoint

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

Pour afficher un volet de tâches personnalisé avec plusieurs documents, créez une nouvelle instance du volet de tâches personnalisé quand l’utilisateur crée un nouveau document ou ouvre un document existant. Pour cela, gérez les événements qui se déclenchent quand un document est créé ou ouvert, puis créez le volet de tâches dans les gestionnaires d’événements. Vous pouvez également gérer les événements de document pour masquer ou afficher les volets de 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 :