2009-12-01 11 views
0

J'ai un add-net pour Excel. L'addin crée l'interface utilisateur du ruban pour Excel 2007 et ré-exécute certaines commandes existantes telles que Couper, Copier, Coller, Trier etc.Ruban MS Office Excel - Impossible de modifier/masquer le groupe d'édition dans l'onglet Accueil

Pour Couper, Copier et Coller Je remplace juste leur valeur OnAction pour appeler ma propre procédure quand les boutons sont cliqués. Mais pour les commandes Sort, Sort Asc et Sort Desc, le cas est un peu différent. Lorsque l'un des boutons Sort, Sort Asc ou Sort Desc est cliqué, je souhaite recevoir une notification, puis appeler la fonctionnalité par défaut. Cela était possible dans les commandes Excel 2003 en appelant la méthode Execute() sur CommandBarControl.

Dans Excel 2007, il existe une méthode ExecuteMso() cliquer par programme un élément de ruban, mais lorsque le OnAction est surchargée, cette méthode ExecuteMso() exécute juste ma propre procédure et non la fonctionnalité par défautde ce bouton. J'ai donc pensé que je cacherais les boutons de tri dans le groupe "Edition" de l'onglet Accueil et y ajouterais mes propres boutons Trier, Sort Asc et Sort Desc. Les boutons vont d'abord appeler ma procédure d'où j'appellerai le comportement par défaut.

Maintenant le problème est que je suis incapable de changer/cacher le groupe d'édition (idMso = "GroupEditing"). Ce groupe intégré n'est-il pas modifiable? Je peux cependant CACHER le Presse-papiers et d'autres groupes (mais je ne peux pas leur ajouter de boutons).

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
    <ribbon> 
    <tabs> 
     <tab idMso="TabHome">   
     <group idMso="GroupEditing" visible="false" /> 
     </tab> 
    </tabs> 
    </ribbon> 
</customUI> 
+0

quelqu'un avec une expérience de ruban? – A9S6

Répondre

1

Je pense que le idMso est incorrect par rapport à cacher le groupe d'édition.

idMso = "GroupEditingExcel"

+0

Merci beaucoup Andy. Je suis capable de masquer le groupe "Modification" en utilisant l'identifiant "GroupEditingExcel". Pouvez-vous me donner un lien où je peux trouver ces identifiants? Aussi, j'ai essayé "GroupClipboardExcel" et cela n'a pas fonctionné pour le groupe "Clipboard" MAIS "GroupClipboard" a fonctionné ... étrange non? Pourquoi les ID dômes ont-ils un suffixe Excel? – A9S6

+0

Bien que j'ai résolu le problème en utilisant le paramètre "ref bool cancelDefault" de la méthode de gestionnaire, je vais marquer cela comme la réponse car elle répond réellement à l'un de mes problèmes dans la question principale – A9S6