Vue d'ensemble du volet Actions

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

Version de Microsoft Office

  • Version 2007 de Microsoft Office System

  • Microsoft Office 2003

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Un volet Actions est un volet de tâches Actions de document personnalisable qui est attaché à un document Microsoft Office Word ou à un classeur Microsoft Office Excel spécifique. Il est hébergé dans le volet de tâches avec d'autres volets de tâches intégrés, comme le volet de tâches Source XML dans Excel ou le volet de tâches Styles et mise en forme dans Word. Vous pouvez utiliser des contrôles Windows Forms ou WPF pour concevoir l'interface utilisateur du volet Actions.

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

Remarque :

Le volet Actions est différent 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 ajouter des volets de tâches personnalisés à des compléments d'application pour la version 2007 de Microsoft Office System. Pour plus d'informations, consultez Vue d'ensemble des volets de tâches personnalisés.

Affichage du 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 à la disposition de votre code lorsque vous utilisez le 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.

Me.ActionsPane.Controls.Add(actions)
this.ActionsPane.Controls.Add(actions);

Le volet Actions devient visible au moment de l'exécution, dès que vous lui 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 général, 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 souhaitez 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.

Ajout de contrôles multiples au volet Actions

Si vous ajoutez plusieurs contrôles au volet Actions, vous devrez, dans la plupart des cas, regrouper les contrôles dans un contrôle utilisateur, puis ajoutez le contrôle utilisateur à la propriété Controls. Ce processus comporte les étapes suivantes :

  1. Créez l'interface utilisateur 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 Windows Forms UserControl personnalisée. Les éléments Contrôle de volet Actions et Contrôle utilisateur sont équivalents ; la seule différence réside dans leur nom.

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

    Remarque :

    Vous pouvez également ajouter des contrôles au volet Actions en ajoutant un System.Windows.Controls.UserControl WPF au UserControl Windows Forms. Pour plus d'informations, consultez Utilisation de 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) de votre projet.

Pour obtenir des exemples qui illustrent ce processus plus en détails, consultez Comment : ajouter un volet Actions à des documents Word et Comment : ajouter un volet Actions à des classeurs Excel.

Masquage du volet Actions

Même si 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 d'un membre de la classe ActionsPane elle-même. Lorsque la méthode Hide est appelée ou lorsque la valeur false est attribuée à la propriété Visible, seuls les contrôles du volet Actions sont masqués ; le volet de tâches n'est pas masqué.

Plusieurs options s'offrent à vous pour masquer le volet de tâches dans votre solution :

  • Dans Word, attribuez la valeur false à la propriété Visible de l'objet TaskPane qui représente le volet de tâches Actions de document. L'exemple de code suivant est conçu pour être exécuté à partir de la classe ThisDocument de votre projet.

    Me.Application.TaskPanes(Word.WdTaskPanes.wdTaskPaneDocumentActions).Visible = False
    
    this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocumentActions].Visible = false;
    
  • Dans Excel, attribuez la valeur false à la propriété DisplayDocumentActionTaskPane de l'objet Application. L'exemple de code suivant est conçu pour être exécuté à partir de la classe ThisWorkbook de votre projet.

    Me.Application.DisplayDocumentActionTaskPane = False
    
    this.Application.DisplayDocumentActionTaskPane = false;
    
  • Dans Word ou Excel, vous pouvez également attribuer la valeur false à la propriété CommandBar.Visible de la barre de commandes qui représente le volet de tâches. L'exemple de code suivant est conçu pour être exécuté à partir de la classe ThisDocument ou ThisWorkbook de votre projet.

    Me.Application.CommandBars("Task Pane").Visible = False
    
    this.Application.CommandBars["Task Pane"].Visible = false;
    

Masquage du volet Actions à l'ouverture du document

Si l'utilisateur enregistre le document alors que le volet Actions est visible, celui-ci sera visible à chaque ouverture du document, qu'il contienne ou non des contrôles. Si vous souhaitez définir les conditions d'affichage du volet, appelez la méthode Clear du champ ActionsPane dans le gestionnaire d'événements Startup de ThisDocument ou ThisWorkbook afin de vous assurer que le volet Actions n'est pas visible lorsque le document est ouvert.

Détermination de la fermeture du volet Actions

Aucun événement n'est déclenché lorsque le volet Actions est fermé. Bien que la classe ActionsPane possède un événement VisibleChanged, cet événement n'est pas déclenché lorsque l'utilisateur final ferme le volet Actions. Il est par contre déclenché lorsque les contrôles du volet Actions sont masqués par l'appel à la méthode de Hide ou par l'attribution de la valeur false à la propriété Visible.

Si l'utilisateur final ferme le volet Actions, il peut le réafficher en exécutant 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 2007 ou Excel 2007

  1. Dans le ruban, cliquez sur l'onglet Affichage.

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

Pour afficher le volet Actions à l'aide de l'interface utilisateur de Word 2003 ou Excel 2003

  1. Dans le menu Affichage, cliquez sur Volet Office.

  2. Si un volet de tâches autre que Actions de document est affiché, cliquez sur le bouton Autres volets Office dans la partie supérieure du volet de tâches, puis cliquez sur Actions de document.

Programmation d'événements de volet Actions

Vous pouvez ajouter plusieurs contrôles utilisateur au volet Actions, puis écrire du code pour répondre aux événements sur le document en affichant et 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 lorsque le point d'insertion est situé dans l'un des éléments XML. Pour plus d'informations, consultez les rubriques Procédure pas à pas : modification du volet Actions en fonction du contexte utilisateur, Comment : mapper des schémas à des documents Word dans 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 tout objet, notamment les événements de contrôle hôte, d'application ou de document. Pour plus d'informations, consultez Procédure pas à pas : programmation d'événements d'un contrôle NamedRange.

Liaison de données aux contrôles du volet Actions

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

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

Validation des données des 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 tous les messages d'erreur de validation.

Ordre d'empilement des contrôles utilisateur

Si vous utilisez plusieurs contrôles utilisateur, vous pouvez écrire du code pour empiler correctement les contrôles utilisateur sur le volet Actions, selon qu'il est ancré verticalement ou horizontalement. Vous pouvez définir l'ordre d'empilement des contrôles utilisateur sur 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 dans les volets Actions

La propriété StackOrder peut accepter les énumérations suivantes.

Style d'empilement

Définition

FromBottom

Empiler à partir du bas du volet Actions.

FromLeft

Empiler à partir de la gauche du volet Actions.

FromRight

Empiler à partir de la droite du volet Actions.

FromTop

Empiler à partir du haut du volet Actions.

None

Aucun ordre d'empilement n'a été défini ; l'ordre est contrôlé par le développeur.

Le code suivant définit la propriété StackOrder de manière à empiler les contrôles utilisateur à partir du haut du volet Actions.

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

Ancrage des contrôles

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 Comment : ancrer des contrôles aux Windows Forms.

Redimensionnement du volet Actions

Vous ne pouvez pas modifier directement la taille d'un ActionsPane parce que cet élément est incorporé dans le volet de tâches. En revanche, vous pouvez modifier la largeur du volet de tâches par programme en définissant la propriété Width de CommandBar qui représente le volet de tâches. Vous pouvez modifier la hauteur du volet de tâches s'il est ancré horizontalement ou s'il flotte.

Le redimensionnement par programme du volet de tâches n'est généralement pas recommandé, car l'utilisateur doit être capable de sélectionner la taille du volet de tâches qui correspond le mieux à ses besoins. Toutefois, si vous devez redimensionner la largeur du volet de tâches, vous pouvez utiliser le code suivant.

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

Repositionnement du volet Actions

Vous ne pouvez pas repositionner ActionsPane directement parce qu'il est incorporé dans le volet de tâches. En revanche, vous pouvez déplacer le volet de tâches par programme en définissant la propriété Position de CommandBar qui représente le volet de tâches.

Le repositionnement par programme du volet de tâches n'est généralement pas recommandé, car l'utilisateur doit être capable de choisir sur l'écran la position du volet de tâches qui correspond le mieux à ses besoins. Toutefois, si vous devez déplacer le volet de tâches à une position particulière, vous pouvez utiliser le code suivant.

Me.CommandBars("Task Pane").Position = _
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft
this.CommandBars["Task Pane"].Position =
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft;
Remarque :

Les utilisateurs finaux peuvent repositionner le volet de tâches manuellement et à tout moment. Il n'existe aucun moyen de garantir l'ancrage du volet de tâches à la position indiquée par programme. Toutefois, vous pouvez vérifier les modifications apportées à l'orientation et vous assurer que les contrôles du volet Actions sont empilés dans la bonne direction. Pour plus d'informations, consultez Comment : gérer la disposition des contrôles dans les volets Actions.

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

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

If Me.CommandBars("Task Pane").Position = _
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating Then

    Me.CommandBars("Task Pane").Top = 0
    Me.CommandBars("Task Pane").Left = 0

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

Voir aussi

Tâches

Comment : ajouter un volet Actions à des documents Word

Comment : ajouter un volet Actions à des classeurs Excel

Procédure pas à pas : Insertion de texte dans un document à partir d'un volet Actions

Procédure pas à pas : liaison de données aux contrôles dans un volet Actions Word

Procédure pas à pas : liaison de données aux contrôles dans un volet Actions Excel

Procédure pas à pas : modification du volet Actions en fonction du contexte utilisateur

Comment : gérer la disposition des contrôles dans les volets Actions

Concepts

Utilisation de contrôles WPF dans les solutions Office

Personnalisation de l'interface utilisateur Office

Accès global aux objets dans les projets Visual Studio Tools pour Office