Vue d’ensemble du volet Actions

Un volet Actions est un volet Office Actions de document personnalisable qui est attaché à un document Microsoft Bureau Word spécifique ou au classeur Microsoft Bureau Excel. Le volet Actions est hébergé à l’intérieur du volet Office Bureau ainsi que d’autres volets Office intégrés, tels que le volet Office Source XML dans Excel ou le volet Styles et Mise en forme du volet Office dans Word. Vous pouvez utiliser des contrôles Windows Forms ou WPF pour concevoir l'interface utilisateur du volet Actions.

S’applique à : les informations contenues dans cette rubrique s’appliquent aux projets au niveau du document pour Excel et Word. Pour plus d’informations, consultez Fonctionnalités disponibles par application Office lication et le type de projet.

Vous pouvez créer un volet Actions uniquement dans une personnalisation au niveau du document pour Word ou Excel. Vous ne pouvez pas créer un volet Actions dans un complément VSTO. Pour plus d’informations, consultez Fonctionnalités disponibles par application Office lication et le type de projet.

Remarque

Le volet Actions diffère des volets de tâches personnalisés. Les volets de tâches personnalisés sont associés à l’application, pas à un document spécifique. Vous pouvez créer des volets de tâches personnalisés dans les compléments VSTO pour certaines applications Microsoft Office. Pour plus d’informations, consultez les volets Office personnalisés.

Afficher le volet Actions

Le volet Actions est représenté par la classe ActionsPane. Lorsque vous créez un projet au niveau du document, une instance de cette classe est disponible pour votre code à l'aide du champ ActionsPane de la classe ThisWorkbook (pour Excel) ou ThisDocument (pour Word) de votre projet. Pour afficher le volet Actions, ajoutez un contrôle Windows Forms à la propriété Controls du champ ActionsPane. L'exemple de code suivant ajoute un contrôle nommé actions au volet Actions.

this.ActionsPane.Controls.Add(actions);

Le volet Actions devient visible au moment de l’exécution dès que vous y ajoutez explicitement un contrôle. Une fois que le volet Actions est affiché, vous pouvez dynamiquement ajouter ou supprimer des contrôles en réponse aux actions de l'utilisateur. En général, vous ajoutez le code pour afficher le volet Actions du gestionnaire d'événements Startup de ThisDocument ou ThisWorkbook afin que le volet Actions soit visible lorsque l'utilisateur ouvre le document pour la première fois. Toutefois, vous souhaiterez peut-être afficher le volet Actions uniquement en réponse à l'action d'un utilisateur dans le document. Par exemple, vous pouvez ajouter le code à l'événement Click d'un contrôle sur le document.

Ajouter plusieurs contrôles au volet Actions

Lorsque vous ajoutez plusieurs contrôles au volet Actions, vous devez regrouper les contrôles dans un contrôle utilisateur, puis ajouter le contrôle utilisateur à la Controls propriété. Ce processus comprend les étapes suivantes :

  1. Créez l’interface utilisateur du volet Actions en ajoutant un contrôle de volet Actions ou un élément contrôle utilisateur à votre projet. Ces deux éléments incluent une classe UserControl Windows Forms personnalisée. Les éléments Contrôle du volet Actions et Contrôle utilisateur sont équivalents ; la seule différence est leur nom.

  2. Ajouter des contrôles Windows Forms au UserControl à l'aide du concepteur ou en écrivant du code.

    Remarque

    Vous pouvez aussi ajouter des contrôles WPF au volet Actions en ajoutant un UserControl WPF au UserControl Windows Forms. Pour plus d’informations, consultez Utiliser des contrôles WPF dans Bureau solutions.

  3. Ajouter une instance du contrôle utilisateur personnalisé aux contrôles contenus dans le champ ActionsPane de la classe ThisWorkbook (pour Excel) ou ThisDocument (pour Word) de votre projet.

    Pour obtenir des exemples illustrant ce processus plus en détail, consultez Guide pratique pour ajouter un volet Actions aux documents Word ou classeurs Excel.

Masquer le volet Actions

Bien que la classe ActionsPane ait une méthode Hide et une propriété Visible, vous ne pouvez pas supprimer le volet Actions à partir de l'interface utilisateur à l'aide des membres de la classe ActionsPane elle-même. L’appel de la méthode ou la définition de la HideVisible propriété sur false masque uniquement les contrôles du volet Actions ; il ne masque pas le volet Office.

Pour masquer le volet de tâches dans votre solution, vous disposez de plusieurs options :

  • Pour Word, définissez la Visible propriété de l’objet TaskPane qui représente le volet Office Actions du document sur false. L'exemple de code suivant est destiné à être exécuté à partir de la classe ThisDocument de votre projet.

    this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocumentActions].Visible = false;
    
  • Pour Excel, définissez la DisplayDocumentActionTaskPane propriété de l’objet Application sur false. L'exemple de code suivant est destiné à être exécuté à partir de la classe ThisWorkbook de votre projet.

    this.Application.DisplayDocumentActionTaskPane = false;
    
  • Pour Word ou Excel, vous pouvez également définir la Visible propriété de la barre de commandes qui représente le volet Office sur false. L'exemple de code suivant est destiné à être exécuté à partir de la classe ThisDocument ou ThisWorkbook de votre projet.

    this.Application.CommandBars["Task Pane"].Visible = false;
    

Effacer le volet Actions lorsque le document est ouvert

Lorsqu’un utilisateur enregistre le document pendant que le volet Actions est visible, le volet Actions est visible chaque fois que le document est ouvert, qu’il contienne ou non des contrôles. Si vous souhaitez contrôler à quel moment il apparaît, appelez la méthode Clear du champ ActionsPane du gestionnaire d'événements StartupThisDocument ou ThisWorkbook pour vous assurer que le volet Actions n'est pas visible lorsque le document est ouvert.

Déterminer quand le volet Actions est fermé

Il n'y a aucun événement déclenché lorsque le volet Actions est fermé. Bien que la ActionsPane classe ait un événement VisibleChanged, celui-ci n'est pas déclenché lorsque l'utilisateur final ferme le volet Actions. Au lieu de cela, cet événement est déclenché lorsque les contrôles du volet Actions sont masqués en appelant la Hide méthode ou en définissant la Visible propriété sur false.

Lorsque l’utilisateur ferme le volet Actions, l’utilisateur peut l’afficher à nouveau en effectuant l’une des procédures suivantes dans l’interface utilisateur de l’application.

Pour afficher le volet Actions à l'aide de l'interface utilisateur de Word ou Excel
  1. Dans le ruban, cliquez sur l’onglet Affichage .

  2. Dans le groupe Afficher/Masquer, cliquez sur le bouton bascule Actions du document.

Événements du volet Actions du programme

Vous pouvez ajouter plusieurs contrôles utilisateur au volet Actions, puis écrire le code pour répondre aux événements sur le document en affichant et en masquant les contrôles utilisateur. Si vous mappez des éléments du schéma XML à votre document, vous pouvez afficher certains contrôles utilisateur dans le volet Actions chaque fois que le point d'insertion se trouve dans l'un des éléments XML. Pour plus d’informations, consultez Guide pratique pour mapper des schémas à des documents Word à l’intérieur de Visual Studio et comment : mapper des schémas à des feuilles de calcul dans Visual Studio.

Vous pouvez également écrire le code pour répondre aux événements de n'importe quel objet, y compris les événements de contrôle hôte, d'application ou de document. Pour plus d’informations, consultez Procédure pas à pas : Programme sur les événements d’un contrôle NamedRange.

Lier des données à des contrôles dans le volet Actions

Les contrôles du volet Actions ont les mêmes fonctionnalités de liaison de données que les contrôles Windows Forms. Vous pouvez lier les contrôles aux sources de données telles que les jeux de données, les groupes de données typées et XML. Pour plus d’informations, consultez Liaison de données et Windows Forms.

Vous pouvez lier des contrôles du volet Actions et des contrôles du document au même jeu de données. Par exemple, vous pouvez créer une relation maître/détail entre les contrôles du volet Actions et les contrôles de la feuille de calcul. Pour plus d’informations, consultez Procédure pas à pas : Lier des données à des contrôles dans un volet Actions Excel.

Valider les données dans les contrôles du volet Actions

Si vous affichez un message dans le gestionnaire d'événements Validating d'un contrôle du volet Actions, l'événement peut être déclenché une deuxième fois lorsque le focus se déplace du contrôle au message. Pour éviter ce problème, utilisez un contrôle ErrorProvider pour afficher les messages d’erreur de validation.

Ordre de pile des contrôles utilisateur

Si vous utilisez plusieurs contrôles utilisateur, vous pouvez écrire le code pour empiler correctement les contrôles utilisateur du volet Actions, qu'il soit ancré verticalement ou horizontalement. Vous pouvez définir l'ordre d'empilement des contrôles utilisateur du volet Actions à l'aide de l'énumération StackStyle de la propriété StackOrder. Pour plus d’informations, consultez How to : Manage control layout on actions panes.

La propriété StackOrder peut accepter les valeurs d'énumération StackStyle suivantes.

Style d'empilement Définition
FromBottom Empilez à partir du bas du volet Actions.
FromLeft Empilez à partir de la gauche du volet Actions.
FromRight Empilez à partir de la droite du volet Actions.
FromTop Empilez à partir du haut du volet Actions.
Aucun Aucun ordre d'empilement défini ; l'ordre est contrôlé par le développeur.

Le code suivant définit la propriété StackOrder de façon à empiler les contrôles utilisateur à partir du haut du volet Actions.

this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;

Contrôles d’ancrage

Si l’utilisateur redimensionne le volet Actions au moment de l’exécution, les contrôles peuvent être redimensionnés avec le volet Actions. Vous pouvez utiliser la propriété Anchor d'un contrôle Windows Forms pour ancrer des contrôles au volet Actions. Vous pouvez également ancrer les contrôles Windows Forms au contrôle utilisateur de la même manière. Pour plus d’informations, consultez Guide pratique pour ancrer des contrôles sur Windows Forms.

Redimensionner le volet Actions

Vous ne pouvez pas modifier directement la taille d’un ActionsPane, car le ActionsPane est incorporé au volet des tâches. Toutefois, vous pouvez modifier par programmation la largeur du volet des tâches en définissant la propriété Width du CommandBar qui représente le volet des tâches. Vous pouvez modifier la hauteur du volet des tâches s'il est ancré horizontalement ou est flottant.

Le redimensionnement par programmation du volet Office n’est pas recommandé, car l’utilisateur doit être en mesure de sélectionner la taille du volet Office qui convient le mieux à ses besoins. Toutefois, si vous devez redimensionner la largeur du volet Office, vous pouvez utiliser le code suivant pour effectuer cette tâche.

this.CommandBars["Task Pane"].Width = 200;

Repositionner le volet Actions

Vous ne pouvez pas repositionner directement le ActionsPane, car il est incorporé au volet des tâches. Toutefois, vous pouvez déplacer par programmation le volet des tâches en définissant la propriété Position du CommandBar qui représente le volet des tâches.

Le repositionnement programmatique du volet Office n’est pas recommandé, car l’utilisateur doit pouvoir choisir la position du volet Office sur l’écran qui convient le mieux à ses besoins. Cependant, si vous devez déplacer le volet des tâches vers un emplacement particulier, vous pouvez utiliser le code suivant pour effectuer cette tâche.

this.CommandBars["Task Pane"].Position =
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft;

Remarque

Les utilisateurs finaux peuvent repositionner manuellement le volet de tâches à tout moment. Il n'existe aucun moyen de garantir que le volet des tâches demeure ancré à la position indiquée par programmation. Toutefois, vous pouvez vérifier les modifications de l'orientation et vous assurer que les contrôles du volet Actions sont empilés dans le bon sens. Pour plus d’informations, consultez How to : Manage control layout on actions panes.

Top La définition des Left propriétés et des propriétés de l’objet ActionsPane ne change pas sa position, car l’objet ActionsPane est incorporé dans le volet Office.

Si le volet des tâches n’est pas ancré, vous pouvez définir les propriétés Top et Left de l’objet CommandBar qui représente le volet des tâches. Le code suivant déplace un volet des tâches non ancré vers l'angle supérieur gauche du document.

if (this.CommandBars["Task Pane"].Position == 
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating)
{
    this.CommandBars["Task Pane"].Top = 0;
    this.CommandBars["Task Pane"].Left = 0;
}