Starting with RibbonX
If you haven’t read my conceptual overview of the Office 2007 UI Customization Model, now would be a very good time to do so. As explained in that overview, customizing the Office 2007 UI requires three distinct steps:
- RibbonX code
- Loading the RibbonX code into an Office application
- Optionally handling callbacks
The RibbonX code is rather similar for all Office applications and independent of the way it is loaded into an Office application. Discussions of RibbonX itself are therefore normally applicable to all five ribbon programs and all ways of loading RibbonX and handling callbacks.
Loading and handling callbacks though is very application-specific and mechanism-specific. The following will give you an overview of how RibbonX can be loaded into which Office applications.
Access
- Managed .NET shared add-in (e.g. written in VB.NET or C#)
- Unmanaged COM add-in (e.g. written in VB6)
- VBA/database table
Excel, PowerPoint & Word
- Embedded into OpenXML files (files in the 2007 file formats). This is the only way the Ribbon can be customized in conjunction with VBA
- Managed .NET shared add-in (e.g. written in VB.NET or C#)
- Managed VSTO 2005 SE add-in
- Unmanaged COM add-in (e.g. written in VB6)
Outlook
- Managed .NET shared add-in (e.g. written in VB.NET or C#)
- Managed VSTO 2005 SE add-in
- Unmanaged COM add-in (e.g. written in VB6)
The list is not complete as third-party applications, e.g. my RibbonCustomizer add-in, might also provide RibbonX loading capabilities. As you can see from the list though, loading RibbonX into an Office application might be a bigger hurdle for a lot of people than actually writing RibbonX.
