Mit folgendem Code kann ich in einem Office-Add-In auf viele Kontext-Menüs in Office 2007/2010 zugreifen:
foreach (Office.CommandBar cb in this.Application.CommandBars) { if (cb.Type == Office.MsoBarType.msoBarTypePopup) { //cb manipulieren, z.B. neuen Button einhängen } }
An die Kontextmenüs für die einzelnen Elemente der RibbonBar komme ich so aber nicht heran. Geht das auch? Wenn ja: wie?
Doch, die gibt es natürlich - aber welche CommandBar nehme ich? Ich habe in alle CBs vom Typ msoBarTypePopup einen Button eingehängt, der dann auch brav in allen Kontextmenüs auftaucht - nur nicht in denen der RibbonBar. Es gibt außerdem eine CommandBar vom Typ msoBarTypeMenuBar. Deren Controls sind offenbar die Elemente der RibbonBar, aber auch dort habe ich nichts gefunden, was irgendwie nach Kontextmenü aussah.