(Ribbon) Création d'un ruban en c# pour powerpoint

darb66 Messages postés 36 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 23 juin 2008 - 13 juin 2008 à 15:39
darb66 Messages postés 36 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 23 juin 2008 - 23 juin 2008 à 13:01
Bonjour,

J'ai créé un projet P1 en c# qui contient plusieurs class destinées à d'autres projets Addin pour Office (Powerpoint, Word, etc.). Dans ce projet P1, j'ai créé un ruban à l'aide du RibbonDesigner. Tout semble fonctionner si ce n'est que je ne sais pas comment ajouter ce dernier dans mon Addin.

Prennons l'exemple d'une barre de menu dont l'initialisation est contenue dans une classe de mon projet P1... Voici comment je m'y prendrai pour l'inclure dans l'Addin:
MyClassMenu myMenu = new MyClassMenu();
myMenu.AddMenuBar(this.Application);

J'utilise ensuite l'objet this.Application pour ajouter tous les éléments du menu dont j'ai besoin depuis ma propre classe. J'aimerai garder ce même principe pour charger mon composant Ribbon: Voici ce que j'aimerai faire:
MyClassMenu myMenu = new MyClassMenu();

myMenu.AddRibbon(this.Application);

Est-ce que qqun aurait une idée? Est-ce que c'est possible d'inclure la classe OfficeRibbon dans une projet qui n'est pas un Addin et d'y faire appel par la suite? Merci d'avance pour vos indications...

2 réponses

darb66 Messages postés 36 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 23 juin 2008
23 juin 2008 à 08:46
Personne ne peut m'aider?
0
darb66 Messages postés 36 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 23 juin 2008
23 juin 2008 à 13:01
J'ai bien trouvé ce code, mais cela ne fonctionne pas. Apparemment, il
ne serait pas possible de créer une classe MyRibbon en dehors du
projet AddIn. Ca me semble quand même invressemblable... Quelqu'un
aurait une idée?
public partial class ThisAddIn
{
MyRibbon ribbon;
protected override object RequestService(Guid serviceGuid)
{
if (serviceGuid == typeof(Office.IRibbonExtensibility).GUID)
{
if (ribbon == null)
ribbon = new MyRibbon();
return ribbon;
}

returnbase.RequestService(serviceGuid);
}
}
0
Rejoignez-nous