Partager via


Vue d’ensemble du volet Actions

Important

La fonctionnalité Actions a été supprimée de Microsoft Word à partir d’Office 2024. Cette fonctionnalité est disponible uniquement dans Microsoft Word avec les versions suivantes d’Office :

  • Microsoft 365
  • Office LTSC Professional Plus 2021
  • Norme LTSC de bureau 2021
  • Office Professionnel Plus 2016, 2019
  • Norme de bureau 2016, 2019

Un volet d’actions est un volet de tâches personnalisable Actions de document attaché à un document Microsoft Office Word spécifique ou à un classeur Microsoft Office Excel. Le volet Actions est hébergé dans le volet Office, ainsi que d’autres volets Office intégrés, tels que la source XML volet Office dans Excel ou le volet Styles et mise en forme volet Office dans Word. Vous pouvez utiliser des contrôles Windows Forms ou des contrôles 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 l’application Office 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 l’application Office et le type de projet.

Remarque

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

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) dans 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 le volet Actions affiché, vous pouvez ajouter ou supprimer dynamiquement des contrôles en réponse aux actions de l’utilisateur. En règle générale, vous ajoutez le code pour afficher le volet Actions dans le 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 pouvez 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 propriété Controls. Ce processus comprend les étapes suivantes :

  1. Créer l’interface utilisateur (IU) du volet Actions en ajoutant un élément Contrôle de volet Actions ou 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 ; seule différence est leur nom.

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

    Remarque

    Vous pouvez également ajouter des contrôles WPF au volet des actions en ajoutant un WPF UserControl à Windows Forms UserControl. Pour plus d’informations, consultez Utiliser des contrôles WPF dans les solutions Office.

  3. Ajoutez 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) dans 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 dispose d’une méthode Hide et d’une propriété Visible, vous ne pouvez pas supprimer le volet Actions de l’interface utilisateur à l’aide de membres de la classe ActionsPane elle-même. L'appel à la méthode Hide ou le réglage de la propriété Visible sur faux masque uniquement les contrôles du volet Actions ; il ne masque pas le volet des tâches.

Pour masquer le volet Office dans votre solution, vous avez plusieurs options :

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

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

    this.Application.DisplayDocumentActionTaskPane = false;
    
  • Pour Word ou Excel, vous pouvez également définir la propriété Visible de la barre de commandes qui représente le volet des tâches sur false. L’exemple de code suivant est destiné à être exécuté à partir de la classe ThisDocument ou ThisWorkbook dans 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 le moment où il apparaît, appelez la méthode Clear du champ ActionsPane dans le gestionnaire d’événements Startup de ThisDocument ou de 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é

Aucun événement n’est déclenché lorsque le volet Actions est fermé. Bien que la classe ActionsPane ait un événement VisibleChanged, cet événement n’est pas déclenché lorsque l’utilisateur final ferme le volet Actions. À la place, cet événement est déclenché lorsque les contrôles du volet Actions sont masqués en appelant la méthode Hide ou en définissant la propriété Visible 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 Afficher.

  2. Dans le groupe Afficher/masquer, cliquez sur le bouton bascule Actions de document.

Événements du volet Actions du programme

Vous pouvez ajouter plusieurs contrôles utilisateur au volet Actions, puis écrire du code pour répondre aux événements du document en affichant et en masquant les contrôles utilisateur. Si vous mappez des éléments de 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 à l’intérieur de 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 du code pour répondre aux événements de n’importe quel objet, y compris le contrôle hôte, l’application ou les événements 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 sur Windows Forms. Vous pouvez lier les contrôles à des sources de données telles que des jeux de données, des jeux de données typés et du code XML. Pour plus d’informations, consultez Liaison de données et Windows Forms.

Vous pouvez lier des contrôles dans le 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 une boîte de message dans le gestionnaire d’événements Validating d’un contrôle dans le volet Actions, l’événement peut être déclenché une deuxième fois lorsque le focus passe du contrôle à la boîte de message. Pour éviter ce problème, utilisez un contrôle ErrorProvider pour afficher les messages d’erreur de validation.

Ordre de la pile des contrôles utilisateur

Si vous utilisez plusieurs contrôles utilisateur, vous pouvez écrire du code pour empiler correctement les contrôles utilisateur dans le volet Actions, qu’il soit ancré verticalement ou horizontalement. Vous pouvez définir l’ordre de pile des contrôles utilisateur dans le volet Actions à l’aide de l’énumération StackStyle de la propriété StackOrder. Pour plus d’informations, consultez Comment : Gérer la disposition des contrôles sur les volets d'actions.

La propriété StackOrder peut prendre les valeurs d’énumération StackStyle suivantes.

Style d’empilement Définition
FromBottom Empilez à partir du bas du volet Actions.
De gauche à droite 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 pour empiler les contrôles utilisateur en 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 dans le volet Actions. Vous pouvez également ancrer les contrôles Windows Forms sur le contrôle utilisateur de la même manière. Pour plus d’informations, consultez Comment : Ancrer des contrôles dans Windows Forms.

Redimensionner le volet Actions

Vous ne pouvez pas modifier directement la taille d’un ActionsPane, car le ActionsPane est incorporé dans le volet de tâches. Toutefois, vous pouvez modifier la largeur du volet Office par programmation en définissant la propriété Width de l'CommandBar qui représente le volet Office. Vous pouvez modifier la hauteur du volet Office si elle est ancrée horizontalement ou flottante.

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é dans le 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. Toutefois, si vous devez déplacer le volet Office vers une position particulière, 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 Office à tout moment. Il n’existe aucun moyen de s’assurer que le volet Office reste ancré à la position que vous indiquez par programmation. Toutefois, vous pouvez vérifier les modifications d’orientation et vérifier que les contrôles du volet Actions sont empilés dans la direction correcte. Pour plus d’informations, consultez Comment : Gérer la disposition des contrôles sur les volets d'actions.

La définition des propriétés Top et Left de l’objet ActionsPane ne modifie pas sa position, car l’objet ActionsPane est incorporé au volet des tâches.

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;
}