Book Review: RibbonX – Customizing the Office 2007 Ribbon

Share this:  

My Book Rating: 5 of 5 stars:

Power Users and Developers: Making customized Apps Using Microsoft Office
Those of us who have the responsibility of producing customized Excel workbooks, and Word documents that essentially have become small powerful applications in their own right are always looking for ways to make the tools we build in these Microsoft Office products more powerful, easy to use, and more like actual stand-alone apps. One of the ways I looked at enhancing the “tools” I created was by adding a tool bar to an Excel workbook for example. I first did this myself in Excel 2003. It was tedious but doable. One draw-back in the way tool bars were done back then is that the changes applied to the whole app (Excel or Word), and one screw-up on your part could truly clobber Excel or Word’s tool bars and menus system wide.

A New Way of Doing Tool Bars in Office 2007
In Office 2007, Microsoft changed how their user interface worked. And they changed the scope of the changes. If you were going to screw something up for your tool bars now it would only be with one document file, not the entire system. Customizing this tool bar was more flexible. You could do much more with the new tool bar than the old version (the new tool bar Microsoft calls a ribbon). The Technology behind the ribbon they call RibbonX.

Drawbacks & Limitations
The the main draw-back to the new system was that you cannot modify existing tool bars or create new tool bars purely using VBA code (once the toolbar was created though you could write VBA code to modify it and response to events from it such as mouse clicks). You need to know a dialect of XML created by Microsoft for defining these ribbon tool bars, and you needed to know the steps for embedding or updating this XML inside the document file. You could do it manually (in which case you are almost sure to miss something and screw it up), or you could use a tool called the Custom UI Editor for Microsoft Office to do your toolbar design in. This tool isn’t real great but it beats manually editing by a long shot!

The Book I Use to Answer My RibbonX Questions
If you want to create your own customized tool bar ribbons in Office, you can find some information out on the web on how to do this, but by far the best source of information that I have found is the book: RibbonX – Customizing the Office 2007 Ribbon, which is by Robert Martin, Ken Puls, and Teresa Henning.It covers how the technology has changed for tool bars from Office 2003 to the present day, goes into the strengths and weaknesses of the old and new ways of doing this, and then proceeds to dive into the task of showing you how to create your own custom Ribbons or modifying the built in ones. Most of the work that you will do is editing XML files. It then shows you how to write VBA codeĀ  that can show/hide enable/disable ribbon tabs and/or ribbon controls, update label contents on ribbons, and respond to user input (such as a user clicking a button).

The Intro to VBA is Great!
Chapter 4 is a whole chapter on VBA in general (not just one using it to handle a ribbon). This is some of the most clearly written text I have ever read on the subject. In my opinion it is better than the content of some books which are solely supposed to be about VBA! So, even if you don’t plan to spend a lot of time creating tool bars for your Excel or Word documents, buying the book for this chapter (and the other chapter on advanced VBA) alone is worth it.

Finally, it is a Reference Book
Microsoft has different XML tags and attributes for creating ribbon tabs and all the various controls on the ribbons. At the back of the book are tables of all these items. Some of the attributes take one of many pre-defined constants that Microsoft has provided. The book contains tables of all these values too.

    Chapters in the Book: 

  • Part I – The Building Blocks for a Successful Customization
    • Chapter 1: An Introduction to the Office User Interface
    • Chapter 2: Accessing the UI Customization Layer
    • Chapter 3: Understanding XML
    • Chapter 4:Introducing Visual Basic for Applications (VBA)
    • Chapter 5: Callbacks: The Key to Adding Functionality to Your Custom UI
    • Chapter 6: RibbonX Basic Controls
    • Chapter 7: comboBox and dropDown Controls
    • Chapter 8: Custom Pictures and Galleries
    • Chapter 9: Creating Menus
    • Chapter 10: Formatting Elements
    • Chapter 11: Using Controls and Attributes to Help Your Users
  • Part II – Advanced Concepts in Ribbon Customization
    • Chapter 12: Advanced VBA Techniques
    • Chapter 13: Overriding Built-in Controls in the Ribbon
    • Chapter 14: Customizing the Office Menu and the QAT
    • Chapter 15: Working with Contextual Controls
    • Chapter 16: Sharing and Deploying Ribbon Customizations
    • Chapter 17: Security in Microsoft Office
  • Appendix A: Tables of RibbonX Tags
  • Appendix B: Tables of Tab and Group idMso Names
  • Appendix C: imageMso Reference Guide
  • Appendix D: Keytips and Accelerator keys
  • Appendix E: RibbonX Naming Conventions
  • Where to Find Help
  • Index

The book is RibbonX: Customizing the Office 2007 Ribbon and at the time I published this post it was $25.06 USD on Amazon (oh and its available on the Kindle too). I give it 5 out of 5 stars. If you do any Office VBA stuff and want to have custom tool bars in your Office documents, I recommend you get this book.

Leave a Reply

Your email address will not be published. Required fields are marked *