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

Signaler
Messages postés
36
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
23 juin 2008
-
Messages postés
36
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
23 juin 2008
-
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

Messages postés
36
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
23 juin 2008

Personne ne peut m'aider?
Messages postés
36
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
23 juin 2008

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