Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le runtime Visual Studio Tools pour Office expose un modèle objet fortement typé que vous pouvez utiliser pour obtenir et définir les propriétés des contrôles du ruban au moment de l’exécution. Par exemple, vous pouvez remplir dynamiquement des contrôles de menu, ou afficher et masquer les contrôles de manière contextuelle. Vous pouvez également ajouter des onglets, des groupes et des contrôles à un ruban, mais uniquement avant le chargement du ruban par l’application Office. Pour plus d’informations, consultez Définir les propriétés qui deviennent en lecture seule.
S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de niveau document et aux projets de complément VSTO pour les applications suivantes : Excel ; InfoPath 2013 et InfoPath 2010 ; Perspective; PowerPoint ; Projet; Visio ; Mot. Pour plus d’informations, consultez Fonctionnalités disponibles par type d’application et de projet Office.
Ce modèle objet Ruban se compose principalement de la classe Ruban, des événements de ruban et des classes de contrôle Ruban.
Classe de ruban
Lorsque vous ajoutez un nouvel élément ruban (Concepteur visuel) à un projet, Visual Studio ajoute une classe de ruban à votre projet. La classe Ribbon hérite de la RibbonBase classe.
Cette classe apparaît sous la forme d’une classe partielle qui est divisée entre le fichier de code du ruban et le fichier de code du Concepteur de ruban.
Événements du ruban
La classe Ribbon contient les trois événements suivants :
| Événement | Descriptif |
|---|---|
| Load | Déclenché lorsque l’application Office charge la personnalisation du ruban. Le Load gestionnaire d’événements est automatiquement ajouté au fichier de code du ruban. Utilisez ce gestionnaire d’événements pour exécuter du code personnalisé lorsque le ruban se charge. |
| LoadImage | Vous permet de mettre en cache des images dans la personnalisation du ruban lorsque le ruban se charge. Vous pouvez obtenir un léger gain de performances si vous écrivez du code pour mettre en cache les images du ruban dans ce gestionnaire d’événements. Pour plus d’informations, consultez LoadImage. |
| Close | Déclenché lorsque l’instance du ruban se ferme. |
Contrôles du ruban
L’espace Microsoft.Office.Tools.Ribbon de noms contient un type pour chaque contrôle que vous voyez dans le groupe Contrôles du ruban Office de la boîte à outils.
Le tableau suivant montre le type de chaque Ribbon contrôle. Pour obtenir une description de chaque contrôle, consultez la vue d’ensemble du ruban.
| Nom du contrôle | Nom de la classe |
|---|---|
| Boîte | RibbonBox |
| bouton | RibbonButton |
| ButtonGroup | RibbonButtonGroup |
| CheckBox | RibbonCheckBox |
| ComboBox | RibbonComboBox |
| Liste déroulante | RibbonDropDown |
| EditBox | RibbonEditBox |
| Galerie | RibbonGallery |
| Groupe | RibbonGroup |
| Étiquette | RibbonLabel |
| Menu | RibbonMenu |
| Séparateur | RibbonSeparator |
| BoutonDivisé | RibbonSplitButton |
| Onglet | RibbonTab |
| Bouton Bascule | RibbonToggleButton |
L’espace Microsoft.Office.Tools.Ribbon de noms utilise le préfixe « Ribbon » pour ces types afin d’éviter un conflit de noms avec les noms des classes de contrôle dans l’espace System.Windows.Forms de noms.
Lorsque vous ajoutez un contrôle au Concepteur de ruban, le Concepteur de ruban déclare la classe de ce contrôle en tant que champ dans le fichier de code du Concepteur de ruban.
Tâches courantes utilisant les propriétés des contrôles du ruban
Chaque Ribbon contrôle contient des propriétés que vous pouvez utiliser pour effectuer différentes tâches, telles que l’affectation d’une étiquette à un contrôle ou le masquage et l’affichage de contrôles.
Dans certains cas, les propriétés deviennent en lecture seule une fois le ruban chargé ou après l’ajout d’un contrôle à un menu dynamique. Pour plus d’informations, consultez Définir les propriétés qui deviennent en mode lecture seule.
Le tableau suivant décrit certaines des tâches que vous pouvez effectuer à l’aide Ribbon des propriétés de contrôle.
| Pour cette tâche : | Procédez comme suit : |
|---|---|
| Masquer ou afficher un contrôle. | Utilisez la propriété Visible. |
| Activez ou désactivez un contrôle. | Utilisez la propriété Enabled. |
| Définissez la taille d’un contrôle. | Utilisez la propriété ControlSize. |
| Obtenez l’image qui s’affiche sur un élément de contrôle. | Utilisez la propriété Image. |
| Modifiez l’étiquette d’un contrôle. | Utilisez la propriété Label. |
| Ajoutez des données définies par l’utilisateur à un contrôle. | Utilisez la propriété Tag. |
| Obtenir les éléments dans un RibbonBox, RibbonDropDown, RibbonGallery ou RibbonSplitButton contrôle. |
Utilisez la propriété Items. |
| Ajoutez des éléments à un contrôle RibbonComboBox, RibbonDropDown, ou RibbonGallery. | Utilisez la propriété Items. |
| Ajouter des contrôles à un RibbonMenu. | Utilisez la propriété Items. Pour ajouter des contrôles à la RibbonMenu fois que le ruban est chargé dans l’application Office, vous devez définir la Dynamic propriété sur true avant le chargement du ruban dans l’application Office. Pour plus d’informations, consultez Définir les propriétés qui deviennent en lecture seule. |
| Récupérer l’élément sélectionné d’un RibbonComboBox RibbonDropDown, ou RibbonGallery. |
Utilisez la propriété SelectedItem. Pour un RibbonComboBox, utilisez la Text propriété. |
| Obtenez les groupes sur un RibbonTab. | Utilisez la propriété Groups. |
| Spécifiez le nombre de lignes et de colonnes qui apparaissent dans un RibbonGallery. | Utilisez les propriétés RowCount et ColumnCount. |
Définir des propriétés qui deviennent en mode lecture seule
Certaines propriétés ne peuvent être définies qu’avant le chargement du ruban. Il existe trois endroits pour définir ces propriétés :
Dans la fenêtre Propriétés de Visual Studio.
Dans le constructeur de la classe Ribbon .
Dans la méthode
CreateRibbonExtensibilityObjectde la classeThisAddin,ThisWorkbook, ouThisDocumentde votre projet.Les menus dynamiques fournissent certaines exceptions. Vous pouvez créer des contrôles, définir leurs propriétés, puis les ajouter à un menu dynamique au moment de l’exécution, même après le chargement du ruban qui contient le menu.
Les propriétés des contrôles que vous ajoutez à un menu dynamique peuvent être définies à tout moment.
Pour plus d’informations, consultez Propriétés qui deviennent en lecture seule.
Définir des propriétés dans le constructeur du ruban
Vous pouvez définir les propriétés d’un Ribbon contrôle dans le constructeur de la classe Ribbon . Ce code doit apparaître après l’appel à la InitializeComponent méthode. L’exemple suivant ajoute un nouveau bouton à un groupe si l’heure actuelle est 17 h 00, heure du Pacifique (UTC-8) ou plus tard.
Ajoutez le code ci-dessous.
public Ribbon1()
: base(Globals.Factory.GetRibbonFactory())
{
InitializeComponent();
if (System.DateTime.Now.Hour > 16)
{
Microsoft.Office.Tools.Ribbon.RibbonButton button =
this.Factory.CreateRibbonButton();
button.Label = "New Button";
group1.Items.Add(button);
}
}
Dans les projets Visual C# que vous avez mis à niveau à partir de Visual Studio 2008, le constructeur apparaît dans le fichier de code du ruban.
Dans les projets Visual Basic ou dans les projets Visual C# que vous avez créés dans Visual Studio 2013, le constructeur apparaît dans le fichier de code du Concepteur de ruban. Ce fichier est nommé YourRibbonItem. Designer.cs ou YourRibbonItem. Designer.vb. Pour afficher ce fichier dans les projets Visual Basic, vous devez d’abord cliquer sur le bouton Afficher tous les fichiers dans l’Explorateur de solutions.
Définir des propriétés dans la méthode CreateRibbonExtensibilityObject
Vous pouvez définir les propriétés d’un Ribbon contrôle lorsque vous remplacez la CreateRibbonExtensibilityObject méthode dans la ThisAddin, ThisWorkbook ou ThisDocument classe de votre projet. Pour plus d’informations sur la
L’exemple suivant définit les propriétés du ruban dans la CreateRibbonExtensibilityObject méthode de la ThisWorkbook classe d’un projet de classeur Excel.
Ajoutez le code ci-dessous.
protected override Microsoft.Office.Core.IRibbonExtensibility
CreateRibbonExtensibilityObject()
{
bool myCondition = false;
if (myCondition == true)
{
Ribbon1 tempRibbon = new Ribbon1();
tempRibbon.tab1.ControlId.ControlIdType =
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
tempRibbon.tab1.ControlId.OfficeId = "TabHome";
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[]
{ tempRibbon });
}
else
{
Ribbon2 tempRibbon = new Ribbon2();
tempRibbon.tab1.ControlId.ControlIdType =
Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
tempRibbon.tab1.ControlId.OfficeId = "TabInsert";
return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { tempRibbon });
}
}
Propriétés qui passent en mode lecture seule
Le tableau suivant montre les propriétés qui ne peuvent être définies qu’avant le chargement du ruban.
Note
Vous pouvez définir les propriétés des contrôles sur les menus dynamiques à tout moment. Ce tableau ne s’applique pas dans ce cas.
| Propriété | Classe de contrôle du ruban |
|---|---|
| BoxStyle | RibbonBox |
| ButtonType | RibbonSplitButton |
| ColumnCount | RibbonGallery |
| ControlId | RibbonTab |
| DialogLauncher | RibbonGroup |
| Dynamique | RibbonMenu |
| Global | OfficeRibbon |
| Groupes | RibbonTab |
| ImageName | RibbonButton RibbonComboBox RibbonDialogLauncher RibbonDropDown RibbonEditBox RibbonGallery RibbonMenu RibbonSplitButton RibbonToggleButton |
| ItemSize | RibbonMenu RibbonSplitButton |
| MaxLength | RibbonComboBox RibbonEditBox |
| Nom | RibbonComponent |
| Poste | RibbonButton RibbonCheckBox RibbonGallery RibbonGroup RibbonMenu RibbonSeparator RibbonSplitButton RibbonTab RibbonToggleButton |
| RibbonType | OfficeRibbon |
| RowCount | RibbonGallery |
| ShowItemImage | RibbonComboBox RibbonDropDown RibbonGallery |
| ShowItemLabel | RibbonDropDown RibbonGallery |
| ShowItemSelection | RibbonGallery |
| SizeString | RibbonComboBox RibbonDropDown RibbonEditBox |
| StartFromScratch | OfficeRibbon |
| Onglets | OfficeRibbon |
| Titre | RibbonSeparator |
Définir les propriétés des rubans qui s’affichent dans les inspecteurs Outlook
Une nouvelle instance du ruban est créée chaque fois qu’un utilisateur ouvre un inspecteur dans lequel le ruban apparaît. Toutefois, vous pouvez définir les propriétés répertoriées dans le tableau ci-dessus uniquement avant la création de la première instance du ruban. Une fois la première instance créée, ces propriétés deviennent en lecture seule, car la première instance définit le fichier XML utilisé par Outlook pour charger le ruban.
Si vous avez une logique conditionnelle qui définit l’une de ces propriétés sur une valeur différente lorsque d’autres instances du ruban sont créées, ce code n’aura aucun effet.
Note
Vérifiez que la propriété Name est définie pour chaque contrôle que vous ajoutez à un ruban Outlook. Si vous ajoutez un contrôle à un ruban Outlook au moment de l’exécution, vous devez définir cette propriété dans votre code. Si vous ajoutez un contrôle à un ruban Outlook au moment du design, la propriété Name est définie automatiquement.
Événements de contrôle du ruban
Chaque classe de contrôle contient un ou plusieurs événements. Le tableau suivant décrit ces événements.
| Événement | Descriptif |
|---|---|
| Click | Se produit lorsqu’un contrôle est cliqué. |
| TextChanged | Se produit lorsque le texte d’une zone d’édition ou d’une zone de liste modifiable est modifié. |
| ChargementDesÉléments | Se produit lorsque la collection Items du contrôle est demandée par Office. Office met en cache la collection Items jusqu’à ce que votre code modifie les propriétés du contrôle, ou que vous appelez la InvalidateControl méthode. |
| ClicBouton | Se produit lorsqu'un bouton dans un RibbonGallery ou RibbonDropDown est cliqué. |
| ChangementDeSélection | Se produit lorsque la sélection dans une RibbonDropDown ou RibbonGallery change. |
| DialogLauncherClick | Se produit lorsque l’icône du lanceur de dialogue dans le coin inférieur droit d’un groupe est cliquée. |
Les gestionnaires d’événements pour ces événements ont les deux paramètres suivants.
| Paramètre | Descriptif |
|---|---|
| expéditeur | Un Object représente le contrôle qui a déclenché l'événement. |
| e | Un RibbonControlEventArgs qui contient un IRibbonControl. Utilisez ce contrôle pour accéder à n’importe quelle propriété qui n’est pas disponible dans le modèle objet du ruban fourni par visual Studio Tools pour Office runtime . |
Contenu connexe
- Accéder au ruban au moment de l’exécution
- Vue d’ensemble du ruban
- Guide pratique pour commencer à personnaliser le ruban
- Éditeur de ruban
- Procédure pas à pas : créer un onglet personnalisé à l’aide du Concepteur de ruban
- Procédure pas à pas : mettre à jour les contrôles sur un ruban au moment de l’exécution
- Personnaliser un ruban pour Outlook
- Guide pratique pour personnaliser un onglet intégré
- Guide pratique pour ajouter des contrôles à la vue Backstage
- Guide pratique pour exporter un ruban à partir du Concepteur de ruban vers le code XML du ruban
- Comment afficher les erreurs d'interface utilisateur du complément