User: Customize Office 2007 Ribbon Applications
Archival Notice: This post is no longer current and has been moved to the archive. Please read the new post replacing this one. Images and links in this post are not guaranteed to work.
Early on in the beta of Office 2007, someone from Microsoft labeled the user customization features of Office 2003 as the “DeLorean of customization”. Basically anything was possible, including changing icons and labels, moving menus and toolbars to wherever you wanted them, adding buttons to menu and toolbars, etc. There really was not a single item that was not customizable with a few mouse clicks. How does the user customization of the new Office 2007 Ribbon stack up against this?Some might label it as “Volkswagen Beetle”, others might go with a mid-size car, whereas few would label it as a “Mercedes”. No matter which car you want to compare it with, user customization has been greatly diminished with the Office 2007 Ribbon.
Why customize the Office User Interface (UI)?
Many people never customize their Office User Interface (voluntarily). The statistical data Microsoft gathered with Office 2003 shows that only a very small percentage of all 400 million Office users worldwide bothered with customizing their UI. In absolute numbers, probably only a few million people customized it and of those only a few tens of thousands did any serious customization (more than 3 buttons). On the other hand, many people involuntarily “customized” their UI and ended up having trouble finding functionality or even having sufficient workspace for their document, spreadsheet or presentation. Based on this data, it is therefore understandable that Microsoft decided not to outfit the Ribbon with the same anything-is-possible customization features that Office 2003 has. What motivated the tens of thousands of people though who did customize their UI?
-
Faster access:. Be it through adding of a feature that can only be found in the menus to a toolbar, placing a floating toolbar with exactly the buttons needed for a particular repetitive task next to the area in your document you are working on, creating custom toolbars with all commands you need 90% of the time and docking them wherever you want, and many other things, user customization is mainly about speed and efficiency. Less clicks and less distance the mouse cursor has to travel translates directly into a higher productivity.
-
Corporate “branding”: Companies might create their own look for a particular Office application and want all their users to use this same look. This allows them to include custom tools into the UI, but also enforce a standardized UI that every employee is familiar with.
-
Esthetics: Some users just do not like the way the Office UI looks like out of the box and change it.
These three motivations still exist with Office 2007. There are however also two new motivations:
-
Disparity between Microsoft’s organization of the Ribbon and how one works: MS organized the Ribbon in a goal-oriented manner. This organization though will not match how every user works. For example, a user might think of headers and footers in Word as a page layout task, whereas Microsoft thought of it as something a user inserts into a document.
-
Getting the old menu and toolbar layout back: The Ribbon forces every user to start from scratch (again). Every user, no matter how proficient he or she is in earlier Office versions, has to completely relearn where things are in this new UI. Users certainly feel a strong urge to keep what they are used to and not go through the painful task of learning the new UI.
The motivation of getting the familiar back is in my opinion no justification for more advanced user customization abilities in Office 2007: The Ribbon is here to stay! Anyone who does not want to make the change should stay with Office 2003. Trying to customize Office 2007 so that it looks like Office 2003 is not something that will be successful in the long-run. The Office version after 2007 (Office 14) will not only have the Ribbon, but expand it to even more applications. As painful as the switch is to a totally new UI, it is better to make the switch now (or not at all) instead of trying to soften the pain of the switch with wrongly used customization.
What can I customize in the new Office User Interface?
The short answer is, not too much. Microsoft ships Office 2007 only with one customization feature. Everything else you might want to do is unreachable for the normal user with just Office 2007. Here is what you cannot do:
-
You cannot touch the Ribbon itself. All tabs, groups and controls on the Ribbon are out of your reach. There is no way to reorganize items, get rid of some, add others, change labels or icons, resize items, or do anything else.
-
You cannot have more than one toolbar.
-
The only toolbar you get cannot float, nor is there any equivalent to floating menus.
-
You cannot affect the resize behavior of the Ribbon.
The Developer Tab
When you open Excel, PowerPoint or Word for the first time, your Ribbon does not feature a tab labeled “Developer”, as you can see in the following screenshot from Word:

To activate the Developer tab, go into Excel, PowerPoint or Word Options (which you can find in the Office button menu) and select “Show Developer tab in the Ribbon”:

After you have selected this, your Ribbon will now feature the Develop tab which looks in Word like this:

The Quick Access Toolbar (QAT)
The Quick Access Toolbar is the main user customization feature for the Ribbon. It allows you to access any buttons you place on it all the time with just one click. Out of the box, the QAT looks like the following in Word Beta 2 (and all other Ribbon applications as well):

As you can see, it contains save, undo, redo and quick print. If you are curious why the printer looks like it is being electrocuted, check out Jensen Harris’ UI blog. The QAT can either be placed above the ribbon as you saw in the previous screenshot, or below it:

To change the position of the QAT, either click the tiny arrow down symbol all the way on the right on the QAT and select “Place Quick Access Toolbar below the Ribbon” or “Place Quick Access Toolbar above the Ribbon” if it is already below. You can add any control (button) and any group to the QAT, including ones that were added by add-ins. To add an item, right-click on it and choose “Add to Quick Access Toolbar”. To add a group, right-click on the bar with the group label. If you add a button, it will be added as one icon in the QAT. If you add a group, it will be added as a drop-down menu that opens up when you click on it:

If you want to reorder the items on the QAT, introduce separators or add items that are not visible on the Ribbon, you need to open Access, Excel, Outlook, PowerPoint or Word Options (again from the Office button menu), and click on the tab Customization:

You can add 40 items (a group counts as one item) to the QAT. The QAT cannot float, but you can access it fast using keyboard commands:

As you can see in the screenshot though, this quick number keyboard access system does not work for groups (a bug?). If you were to add another button, it would be assigned the number 6, but nothing will happen if you press ALT-5. Jensen Harris introduced the keyboard access to the QAT in this post. If you are wondering what comes after 01 (read the post to get what I mean), here is the answer:

Beyond what Microsoft provides in the box
What if you really want to customize the Ribbon? What do you do then? For one, you can become a developer and learn how to customize the Ribbon using RibbonX. I will post an introduction to that as my next post. If you are not a developer though, you have no other option than use a 3rd party add-in.
I am developing such an add-in. The basic goal of the add-in is to give users some control back over their own Office User Interface, because there are valid reasons why you want to change the Ribbon. The add-in is currently still in development, but the following screenshot is going to give you a hint of what you will be able to do with it:

P.S.: I wrote this post in OneNote 2007 on I-84, then published it via Word to my blog. I had to manually upload and insert the pictures. I still need to figure out how to best get the pictures scaled.

May 27th, 2006 at 10:55
Hi
Your idea about ribbon cusomization tool is quite interesting. But I think it would be more useful for Office extension developers as a RibbonX generator, than for ordinary users. I have an experience which tells me that if you want to complement some big product (Office, Visual Studio, Photoshop, 3DS MAX) with an add-in or an utility, you should extend some of main product ideas, but not override or break them. So if Microsoft position the idea of fixed UI scheme practically without customization abilities, you probably should not break this idea to reach the success. I better realize such a tool like a RibbonX visual designer for developers, which integrates in Visual Studio or something like this.
Nevertheless, if you will have something that require alpha testers, I will gladly become one.
May 27th, 2006 at 14:58
Hi Eugene,
developing it into a tool for Office developers is one of the things I am considering doing. The reason why I am not yet certain that I will do it is mainly Microsoft. Microsoft hinted in the CTP For VSTO that they might include a visual editor for RibbonX in later CTPs. Basically, I am waiting to see what is going to happen in that regard.
I don’t really care whether Microsoft subscribes to the idea of a fixed ribbon or not. The layout of the ribbon works the way it is for most people, but not for everyone. There is a great desire for customizability of the ribbon among the technical beta community, because the layout is not perfect. For example in PowerPoint (same applies to the similart ribbons in Excel and Word), MS chose to place the WordArt Styles group on the contextual Format tab of the Drawing Tools, Chart Tools, etc. Yet nowhere on that tab are any basic text formatting tools, such as font, font size, etc. Having used Office 2007 since November, I simply don’t understand that decision. The WordArt Styles are to me “eye candy” and I use them a lot less than I use the basic text formatting tools while the contextual tab is up. In Microsoft’s view, you can either switch to the Home tab to get access to the text formatting tools or use the MiniBar (which takes some fidgeting to get to appear and be applicable for all text in a shape). Either solution is just not as efficient as having the needed tools on the Format tab itself. If you use the Home tab e.g., you end up constantly switching around between the two tabs. As Microsoft doesn’t seem to be changing this, the only way to get the tools I need most right in front of me instead of some “eye candy” is to customize my ribbon.
The ribbon is great and the layout works well for most cases, but there are just situations where someone wants to make a change and that is what my tools addresses. I do believe though that people need to learn the ribbon first and therefore (besides needed development time), my tool won’t be available to anyone outside the technical beta for a while. Technical beta users have been using 2007 for a long time already and know what they personally would like to change. Public beta users just haven’t had the necessary exposure and learning time yet. If you are in the technical beta, I invite you to reply to the appropriate thread in the private beta newsgroups and I will gladly provide you the link to the alpha version.
May 31st, 2006 at 2:00
Working in a corporate environment, I can see that the fixed Ribbon is going to keep us from upgrading to 2007. Why not do something akin to what Windows XP did - offer a checkbox to turn on or off the ability to customize the taskbar? You could even make this a group policy, so individual users could not accidentally turn this off. I work at a law firm with almost a 1,000 users in a dozen departments, each department having unique needs (eg, Estate Planning uses HotDocs), and some users requiring quick input for foreign lagnuages. A ‘one size fits all’ approach is simply not going to work. I’ve never thought of UI customization as optional. And while your add-in seems handy, it doesn’t address the need for toolbars specific to a given template. To me this sounds like telling people they can only use their phone to call people they have called in the past 6 months, and only those people they have called more than two times in that period - based on a statistical analysis of their calls they don’t need to call anyone else, and the numbers they only called once must have been a wrong number. Or, if this sounds too extreme, how about a phone that has 25 speed dial numbers but cannot dial any other numbers. Might be handy for awhile….
Mike Lax
May 31st, 2006 at 2:42
Hi Mike,
luckily the situation is not that bleak. You can customize the ribbon for an individual template and push this out to the appropriate users. The thing that is lacking though is a graphical user interface to do this. If you want to do this, you need to write RibbonX code and manually add a file to the Word template (which in the new file format are zip files). I’ll show in my blog under developer how to do this.
Depending on the feedback I receive and what Microsoft is taking for a direction with Visual Studio Tools for Office, I might extend the add-in to allow a user to easily customize the UI for a template as well. My goal is right now to get a working version out of the door so that people can test it and tell me what needs to be fixed or expanded.
Patrick
May 31st, 2006 at 7:34
Direct example of a similar problem - I got a Motorola V710 because it has Bluetooth and wanted to be able to sync contacts to the phone address book from my Palm. Accept Verizon locks down the BT features, and I had to buy an additional piece of software for this - which only works on my PC (not on my Palm). Except now it doesn’t work on my PC because - you guessed it - it’s not compatible with Outlook 2007 (prior to that it didn’t work with BCM). Requiring an add-in, or complex programming, just to do basic customization is poor design. Has Microsoft already forgotten how badly Office 2000’s personalized menus & toolbars went over?
If Office 2007 ends up shipping without the ability to customize this basic UI element, our office (and many others, I’m certain) will be unable to justify the upgrade, both in terms of training dollars and the loss of critical functionality. And while I have months to determine if I, personally, will upgrade, I do not appreciate having to decide how many steps backward I’m willing to step just to go a few steps foward.
Who does Microsoft think they’re making happy? The many users who don’t customize? Like the Win XP taskbar (or, I just thought, like in IE), a check box to lock down the toolbars would serve just the same purpose.
I also strongly question their statistics - if they’re getting it from the the service feature in Office, *please* ask how many people purposefully turn this feature OFF. Many users don’t want their PC regularly communicating over the internet (whether it contains personal information or not) - and, statistically speaking, these users are going to be the people who customize Office. Large offices will also turn off this feature (or, like ours, may still be using Office XP) due to security and network traffic concerns. The very logic behind this decision is therefore heavily skewed in favor of the people who are not going to customize Office.
From what you have said, participants in the technical beta have already complained about this. HOPEFULLY, since Microsoft has been hearing this for months, there remains the possibility they will change this before release. I intend to repeatedly and loudly complain about this to Microsoft. Perhaps when large companies start to complain as well, indicating they cannot or will not upgrade if customization is not available, *then* Microsoft will listen.
May 31st, 2006 at 12:34
Hi Mike,
Every single one of your points has been raised already to MS…you can guess what the outcome was. The only thing we saw was that functionality was added to the QAT (e.g. the ability to add a group to it).
I have given up hope that MS will ship anything at this point as the answers given in the tech beta were quite explicit on this topic.
I am going to offer a version of my add-in for free, simply because I can’t understand why MS would leave out such critical functionality. I haven’t decided on the feature set yet for the free version though. A more complex version is going to be for a fee only though.
May 31st, 2006 at 13:14
Patrick,
I am not a developer but a Word MVP that likes creating templates that had custom toolbars with icons for firing the macros in the template. All I really want to do is create a new tab that has a button that fires a macro. I have tried the steps in the MSDN article Customize the Office (2007) Ribbon UI for Developers Part 1 of 2 several times and keep getting an error when I try to open the resulting file.
Do you have an example of a working Word file that does in fact result in changes to the RibbonUI. I hope so. Thanks for the work that you are doing.
Greg
May 31st, 2006 at 13:29
Hi Greg,
bear with me
I am currently putting the intro to RibbonX post together, which is going to be a conceptual one. After that, I’ll get to the “hello world” posts which will include a sample of what you are looking for. I am not sure when the post you are looking for is going up, but it should be up the latest next week.
Patrick
May 31st, 2006 at 13:37
Patrick,
Waiting with baited breath and much anticipation of the key to kingdom that you will give the world of frustrated users.
I just left the RibbonX area that I linked to from your website. That unfortunately links to the same articles that have caused me so much grief the last two days. I have followed the examples word for word to the best of my ability to create a document based customization. All of the steps appear to work, but the final result is a corrupt Word document that will not open.
I am sure that I must be doing something basically wrong and hopefully your forthcoming “hello world” post will clear the fog.
Thanks again.
June 7th, 2006 at 9:36
Wow! This is exactly what I have been looking for. I am a developer, but I don’t want to spend my development time just to get functionality built into pervious versions of Office.
For example, I know Paste may be the most common command for the majority, but since I use the keyboard shortcut having the button take up so much space on the home tab really irritates me.
There are many benefits to Office 2007 and I’m glad someone is working on my biggest gripe with it.
June 17th, 2006 at 14:45
Like Greg, I’ve been trying for days to customize the ribbon. I either get nothing (no customization) or errors. Do you have to use VBA or a COM add in? I’m not a programmer, and I can’t use the Custom UI tool (I get an immediate error - I’ve sent the developer my event log entries). I’ve tried working with the different XML examples provided, gone through creating a DOCM document, doing the zip file thing, editing the .rels file, putting it all back together, but so far nothing. Also, in the ‘hello world’ example document (downloaded) the button shows up when I open it, but nothing happens when I click on it. I’ve tried rearranging various security settings, but so far no luck.
June 17th, 2006 at 16:47
Ok…after playing around with the sample on the MSDN site, I discovered a few things. Their sample is based on a previous schema, so first off I had to change the customUI definition at the beginning. Still nothing. So, one by one, I commented out each item. I realized “TabWrite” should be “TabHome”. I realized the ‘tooltip’ attribute doesn’t work. I realized for ‘toggleButton’ that ‘getPressed’ isn’t a valid attribute (it might work for ‘ToggleButtonRegular’). And all this just to get an already written example to work.
Oh, Patrick, I also realized in your hello world example the button originally wasn’t supposed to do anything
. I figured out how to get that to work.
June 17th, 2006 at 17:27
Hi Mike,
glad to see you figured out how to get the VBA code added to my example. I think I posted an updated version that has the VBA code already in it. Let me know if I didn’t.
The MSDN examples were made for earlier beta versions and Microsoft just hasn’t updated them yet. You should have started with my example
Patrick
June 17th, 2006 at 18:02
I’ve figured a couple things out - like how to hide controls. But I haven’t been able to move them around. I tried the ‘insertAfterMso’ and ‘insertBeforeMso’ but I don’t appear to be using them correctly (for the built in groups). Any examples would be welcome.
June 17th, 2006 at 18:20
Hi Mike,
can you tell me which groups on which tabs you are trying to move with these attributes?
June 18th, 2006 at 1:16
I was trying to see if I could rearrange groups on the home tab - currently Clipboard, Font, Paragraph, Style, Editing, and I was trying to rearrange Font, Paragraph, and Editing (eg, Paragraph, Editing, Font). I’d also like to modify some of the groups, but you mentioned somewhere that’s not possible. Yet another *ugh*.
June 18th, 2006 at 3:09
You are going to hate my answer: You cannot rearrange MS groups in their original location. That means e.g. that you can’t put the Clipboard group anywhere else on the Home tab, but where it is right now. If you add the clipboard group though to the Insert tab, you can put it there wherever you want. I haven’t seen this documented anywhere yet, but that’s why the two attributes have zero effect.
Besides MS wanting to keep tight control of their tabs and groups, there is also a programmatic reason for this limitation. If you grab a Word window and make it slowly narrower with your mouse, you’ll notice that groups collapse. They become smaller (e.g. a group becomes a menu button) to ensure that the ribbon is still fully accessible to the user even with a narrower window (or in other words, a lower resolution than the target 1024×768). Beyond a certain width, the ribbon disappears completely. If you place e.g. the Clipboard group on the Insert tab and try the same thing, you will notice that the Clipboard group will never resize. In fact, if there isn’t enough space on the ribbon, an arrow right button will appear on the right end of the ribbon to allow a user to scroll the ribbon to get to all groups.
The resize behavior is pretty nifty and works rather well, but guess how Microsoft implemented it? It’s not some fancy algorithm that calculates which group to collapse next, but rather it is hardcoded. So when the clipboard group is on the Insert tab, it never collapses because there is no hardcoded information present for when to collapse it. Needless to say, custom groups added by an add-in, document, template or anything on a custom tab doesn’t collapse at all either. The impact of this hardcoded behavior is though that Microsoft keeps very tight control over their tabs and groups…
To read more about the resizing behavior, consult Jensen’s blog:
http://blogs.msdn.com/jensenh/archive/2005/10/18/482233.aspx
http://blogs.msdn.com/jensenh/archive/2005/10/19/482631.aspx
Patrick
June 18th, 2006 at 20:28
As I read through one of your posts, I noticed this. This is truely idiotic. The way the ribbon scales just sounds like a crash waiting to happen - just how much code was needed to accomplish this? The idea that an algorithm would somehow be less personal than a statisical mish-mash of usability data makes no sense to me. Aside from being stuck with static groups, I am guessing I’m stuck with static controls on these groups as well. In order to add or remove a single control from the font group, I have to hide it (as you point out, not a good idea) and then create my own with all the built-in controls plus or minus the one I want. I am liking the ribbon less and less by the day…
June 18th, 2006 at 21:17
Try writing a generic tool to give a user some level of customization back…All these special cases and things I can’t do are making my add-in a real pain to write.
August 6th, 2006 at 6:46
I do wonder whether MS got their research right. I support several companies who all have multiple custom toolbars, each one realted to the task in question.
However most of the end users, if asked, would not know that they had a custom toolbar, if they even knew what a toolbar is.
August 21st, 2006 at 6:55
I have been programming the ribbon in the Excel 2007 beta to create a custom tab, using callbacks from VBA, and have encountered the following problem: if the program terminates for any reason (e.g. an error or an End statement), the ribbon object returned from the onLoad event is lost. There is then no way to invalidate the ribbon. Is there any way to get this object back again? The only way I have found is to close and reopen the add-in containing the ribbon XML, but this seems rather heavy-handed, and also has the effect of switching the user off my custom tab and back to the home tab. If there is no other way to do it, is there any way to activate my custom tab after reopening the workbook?
August 23rd, 2006 at 20:07
Andrew,
can you send me a sample file that exhibits the problem? I am not quite sure what is going on.
Thanks,
Patrick