By now, I suspect the Office 2007 Ribbon is a bit old news.
From a developer’s point of view, it’s relatively easy to customize the ribbon via add-in code, which is really nice. And since there seems to be no dearth of examples on doing so, I won’t be wandering down that path.
For Word, Excel, and PowerPoint, things are pretty straightforward, because, as far as I can tell, there’s only one Ribbon for them.
But in Outlook, things are more complicated. The main Outlook window doesn’t even have a ribbon. But the sole parameter of the main entry callback for customizing the ribbon is:
Public function GetCustomUI(ByVal RibbonID as string) as string
so what are the possible RibbonIDs?
After a good bit of searching, I found the following table in the VSTO3CTPTutorial.doc file that identifies them all:
RibbonID | MessageClass |
Microsoft.Outlook.Mail.Read | IPM.Note.* |
Microsoft.Outlook.Mail.Compose | IPM.Note.* |
Microsoft.Outlook.MeetingRequest.Read | IPM.Schedule.Meeting.Request or IPM.Schedule.Meeting.Canceled |
Microsoft.Outlook.MeetingRequest.Send | IPM.Schedule.Meeting.Request |
Microsoft.Outlook.Appointment | IPM.Appointment.* |
Microsoft.Outlook.Contact | IPM.Contact.* |
Microsoft.Outlook.Journal | IPM.Activity.* |
Microsoft.Outlook.Task | IPM.Task.* and IPM.TaskRequest.* |
Microsoft.Outlook.DistributionList | IPM.DistList.* |
Microsoft.Outlook.Report | IPM.Report.* |
Microsoft.Outlook.Resend | IPM.Resend.* |
Microsoft.Outlook.Response.Read | IPM.Schedule.Meeting.Resp.* |
Microsoft.Outlook.Response.Compose | IPM.Schedule.Meeting.Resp.* |
Microsoft.Outlook.Response.CounterPropose | IPM.Schedule.Meeting.Resp.* |
Microsoft.Outlook.RSS | IPM.Post.Rss |
Microsoft.Outlook.Post.Read | IPM.Post.* |
Microsoft.Outlook.Post.Compose | IPM.Post.* |
Microsoft.Outlook.Sharing.Read | IPM.Sharing.* |
Microsoft.Outlook.Sharing.Compose | IPM.Sharing.* |
BTW, for those that are interested, in Word, the RibbonID is always Microsoft.Word.Document
Similiarly, in Excel, it’s Microsoft.Excel.Workbook
and in PowerPoint, it’s Microsoft.PowerPoint.Presentation
I wasn’t able to find that info published anywhere. I suppose it’s technically irrelevant, but still…