Genuine ribbon question

What new functionality does it offer? Users? Devs?

I’m not being funny, but I just don’t see that it offers anything new thats useful to spreadsheet devs.

Please enlighten me…

So pre 2007 we had commandbars and manipulating them was well understood and the pros, cons, and gotchas were well known. The DJS from Excel 97 was/is pretty much the defacto standard for table driven menus and toolbars in Excel.

Now in 2007 we have the ribbon, and devs are having to learn how to work with that as it requires different stuff than commandbars. So thats the cost there – learning how to use this new object. Wheres the benefit? I don’t see new controls that will be any use to 99.9% of spreadsheet devs, I am not aware of new functionality that will set our solutions alight. If you can see some benefits in the ribbon for spreadsheet devs then please list them as comments.
‘Its the future’ doesn’t count, neither does ‘you have to because Microsoft says so’. I want ‘My ribbon based system is better than your old skool commandbars because…’

I have pretty much ignored Excel 2007 because I find it unusable, so this isn’t a trap, I’m not lying in wait to call bullshit. I really want to know from those that have more experience than me (that would be anyone that has looked at the ribbon) in what ways is it better than what we have now.

That I find Excel 2007 unusable isn’t the ribbons fault, its who ever decided to shuffle commands round to make them unfindable. That I can’t easily correct that shuffle blunder IS the ribbons fault.

My current approach is to have an on open event that adds a matching set of menus and toolbars. The on close removes them. Thats VBA of course – the standard language for working with many many applications, not just the whole of Office. And has been the standard since 1995 or so. I can control the visibility of my UI using Excels events to pick up context, and they are first class UI citizens equal to the standard controls.

Oh and ‘its declarative’ doesn’t count as an advantage, unless you can tell us why that is better than a couple of lines of VBA or other code.

Thanks in advance


[edit: o-oh the ribbon is set to infect the rest of Windows, time to switch to Gnome or KDE methinks.

27 Responses to “Genuine ribbon question”

  1. Nick Hebb Says:

    I’m finally getting around to adding support for the ribbon in my add-in. I thought it seemed like a pain to program at first glance, but now that I’m dealing with it – it’s really pretty easy. The biggest hassle has been refactoring my commandbar event handler class due to all the I’d lumped into it over time.

    The biggest benefit is the added controls. You can do a lot more directly from the ribbon without having to load a form for user input.

    The downside is, since I’m supporting multiple versions of Excel, I don’t want to stray too far from the button control. Every difference between the standard commandbar controls and the ribbon controls needs to be documented in the help file, web screen shots, etc. That just adds extra time to the release cycle.

  2. Simon Says:

    Thanks Nick
    Which new controls are you finding useful? (I thought it only added a drop down picture gallery)

    I can imagine how the multi version thing would encourage you to the lowest common denominator, otherwise like you say, you need 2 versions of everything.

    Interesting point about ribbon controls saving you a form, that could explain why it leaves me cold – I don’t use forms much, my UI needs (ok ambitions!) are pretty simple I guess.

  3. Johan Nordberg Says:

    1. More control: Galleries (with or without pictures and descriptions), split buttons (like the New-button in Outlook), toggle buttons (bold, italic), checkboxes, edit boxes, dropdown lists and comboboxes and the stuff that’s in commandbars as well.

    2. Icons can be in png format and not just ico-format. Icons support transparency (alpha channel).

    3. You can easely create dynamic galleries or menus. Yes I know this is possible with CommandBars as well, but this is easier!

    4. Contextual tabs, like the Table or Image tab that only is visible when you select a specific object.

    5. Small or large buttons.

    6. Easy to reuse built in commands. Also possible with commandbars, but it’s really easy to find the id of the button by looking in the customize dialogbox for QAT. Just hover a command and you’ll se the Id, which is now in text, not numbers, like FileOpen.

    7. Visual Studio 2008 has a nice visual designer that makes it really easy to work with. Just drag-n-drop as you would in a user form. This is just for VSTO solutions though.

    8. When you use the XML Schema you have full intellisense when writing the ribbon xml files in a good xml editor, like Visual Studio, Visual Studio Express (free) or XML Notepad (free) or other XML editors.

    9. Personally I think it’s easier to reuse the same event handler for multiple buttons/controls now since the the control is sent to the event handler. I think this is more elegant than using the CommandBars.ActionControl and the Tag property.

    Isn’t it a good idea to learn more about something before you decide to hate it so much? :)

    // Johan

  4. Johan Nordberg Says:

    I forgot the “Super tooltips” which can contain heading, description and maybe even an image. But I’m not sure if/how you can get the image yourself or if it’s just for builtin tooltips.

  5. Simon Says:

    I dont hate it, I resent the massive loss in productivity caused by the way it has been implemented in Excel 2007 though. And for me it will always represent a step LEAP backwards in efficiency in use of Excel.

  6. Simon Says:

    Thanks for the list btw, very useful.

    1. galleries is the only new one there I think? no use to me building line of business financial systems in Excel.
    2. ok, but irrelevant for me see 1.
    3. ok, not easier for folks with VBA libraries
    4. ok, but easily achieved with cbs too.
    5. ok, but big buttons are bloody ridiculous, and utterly pointless. If my users are too clumsy for normal buttons, imagine the damage they are going to do in billion pound spreadsheets.
    6. cbs are easy to reuse too
    7. ok, but its not native to Office, so out of reach of many devs.
    8. VBA has intellisense
    9. fair enough, I tend to pass all calls through their own handler, they can pick up a param if the call goes through to a select case style switch.
    10. super tips: ok, but see 2.

    So in summary quite a few features that some find useful, but not really much for me.

    I’m sorry Johan, there isn’t enough there to encourage me to bother my arse learning more about it. I know some folks like it and thats fine. It really doesn’t seem to offer devs doing the stuff I do much though.

    Good try though, thanks.

    I will instead invest my learning efforts in other things.

    Anyone else got suggestions for useful new stuff in the effluent UI?

  7. Jon Peltier Says:

    Johan –

    I like your list, but I haven’t bought in to all of it. Referring to your numbers:

    3. I don’t see how dynamic menus are easier in the Ribbon.

    4. How can one control which tab is ever visible at a given time? Without this ability, my custom tab is less useful than a custom command bar.

    7. What about “pure” VBA devs who use the VBIDE, not VS?

    The RibbonX XML is pretty easy to use, and its handling of images for icons is also easy. However, it requires a second development environment, and I find doing RibbonX itself on the fly (without old-style menu popups) still obscure.

  8. Johan Nordberg Says:

    Simon: How can you create split buttons, checkboxes and edit boxes with commandbars? I think splitbuttons are a great feature and it’s kind of sad you can use them even though the UI clearly supports them.

    I develop alot of Word templates and Outlook solutions as well as Excel solutions. I can agree that the some one ribbon controls makes more sense in Word och PowerPoint, like galleries. But I don’t really think it’s that bad in Excel. As you said, you haven’t used Office 2007 that much, so is it really that surpricing that a new gui feels strange in the beginning. A new pair of jeans feels strange at first, but you get used to it and wear them more than the old ones… :)

    Jon: “What about pure VBA devs”.. Well. I guess thay’ll have to learn something new. :) And personally I think it’s about the end user. Not the developer.

    I’ve done ALOT of trainings and presentations about what’s new in Office 2007. Most users actually think the ribbon is an improvement. It’s the super power users that could find Tools, Options in their sleep, hung over on a sunday morning that complains most.

    I think we have Swedens most knowledgable Word guru at our company and she hated the ribbon at first. She’s been doing trainings and templates for Word since Word 2.0. She couldn’t find anything at first. But the more she used it the more she liked it. Now even she’s a believer.

    But wtf is Edit, Links doing in the Office-buttom, Prepare menu? :)

    // Johan

  9. Dick Kusleika Says:

    I can access some commands via the keyboard easier than I could before. Specifically, applying a style and adding borders to a cell.

  10. Marcus Says:

    Simon, I’m really becoming genuinly concerned about your emotional and mental well being. This ribbon thing is developing in to quite an obsession. The ribbon is here (to stay or not is another question).

    The best advice I can provide to assist you overcoming this compulsion comes from a T-Shirt I once saw explaining the Titanic obsession: “It sank. Get Over it”.


  11. Harlan Grove Says:

    Yes, there’s a lot of stuff Microsoft has added to Office 2007. How much of it REQUIRES the ribbon? Galleries maybe. But png format icons? Alternatively, how much of it couldn’t have been incorporated into classic command bars?

  12. Simon Says:

    No, I was just reading some comments on previous posts about how to get the same functionality in the ribbon that is available in commandbars. I was struck by the futility of it, and wanted to check I’m not missing anything.

    This probably isn’t the most pro-ribbon forum in the world, but I still wanted to ask the question.

    I genuinely think it was a bad decision to discount peoples investments in commandbars. This is part of a trend and that worries me. It seems we need to do an awful lot of work just to stand still. As an independent consultant, that could represent a significant cost. It definitely represents a significant opportunity cost.

    I’m not obsessed with it, but don’t blame me when you need to do a shit load of work to get back to normal productivity in future Excel versions.

    You might buy that ‘commandbars couldn’t cope’ bs but I don’t, I’m worried about what pointless breaking changes are going to be in Excel14/15 etc.

    Johan and Dick thanks for the positives. Dick I’m looking forward to the ‘2007…more on that later..’ on DDOE

    Johan – good point on user v dev, but don’t forget us devs are users from MS perspective, I wonder how much they are thinking about us.
    Editbox – Type:=msoControlEdit, dunno offhand about the others, they may not exist for cbs?(I have never needed them, I’m afraid)

  13. Jon Peltier Says:

    According to MSDN you can add five types of controls to a commandbar:

    Here’s my sample code that adds each of the types (I haven’t used all of them, so I as testing):

    Sub MsoControlTypes()
    Dim NewToolbar As CommandBar
    Dim NewControl As CommandBarControl
    Dim NewControl2 As CommandBarControl

    Set NewToolbar = Application.CommandBars.Add _
    (Name:=”MSO Control Types”, temporary:=True)

    NewToolbar.Visible = True

    Set NewControl = NewToolbar.Controls.Add(msoControlButton)
    With NewControl
    .Style = msoButtonIconAndCaption
    .Caption = “Button”
    .FaceId = 926
    End With

    Set NewControl = NewToolbar.Controls.Add(msoControlEdit)
    With NewControl
    .Style = msoComboLabel
    .Caption = “Edit Box:”
    .Text = “0”
    End With

    Set NewControl = NewToolbar.Controls.Add(msoControlPopup)
    With NewControl
    .Caption = “Popup”

    Set NewControl2 = NewControl.Controls.Add(msoControlButton)
    With NewControl2
    .Style = msoButtonIconAndCaption
    .Caption = “Button 2”
    .FaceId = 459
    End With
    End With

    Set NewControl = NewToolbar.Controls.Add(msoControlDropdown)
    With NewControl
    .Style = msoComboLabel
    .Caption = “DropDown:”
    .AddItem “1”
    .AddItem “2”
    .AddItem “3”
    .AddItem “4”
    End With

    Set NewControl = NewToolbar.Controls.Add(msoControlComboBox)
    With NewControl
    .Style = msoComboLabel
    .Caption = “Combo Box:”
    .AddItem “1”
    .AddItem “2”
    .AddItem “3”
    .AddItem “4”
    End With

    End Sub

    The Ribbon provides more flexibility, while at the same time cutting down how much is visible at one time. If you’re intimidated by lots of buttons, then the Ribbon is good. If you’re frustrated and feel hobbled by not having all your buttons visible at one time, then the Ribbon is not so good.

  14. Jon Peltier Says:

    Hey Simon –

    What can you do about the layout of the page? On my monitor, the white part of the page is only 50% of the entire width, with dull gray-blue borders eating up space on either side. Within that the text is only around half the width of the white page. You might be wasting more space than the ribbon does.

  15. Dennis Wallentin Says:

    Are You a real developer?

    If the answer is yes then:

    #1 Present income
    The transition to 2007 Ribbon UI will requires updates of many already shipped solutions. By the end of the day it means $$$ in for the developers.

    #2 Future income – Part I
    The combination of VS.NET & 2007 Ribbon UI offer solutions which customers may find more attractive then the good ol’ days solutions. By the end of the day it means $$$ in for the developers.

    #3 Future income – Part II
    The investment in VS.NET creates new business opportunities and new customers. By the end of the day it means $$$ in for the developers.

    By the end of the day it’s not a question if we, as developers, like new things or not. It’s a question of being competitive or not.

    If MSFT make their work to earn their money I believe You do the work to earn Your money.

    By the end of the day there is no difference between MSFT and You.

    Kind regards,

  16. Harlan Grove Says:

    Aside from Microsoft having the power to compel You to change Your software while You (the INDIVIDUAL independent developer) are powerless to get Microsoft to change anything. Yeah, aside from that there’s no difference between Microsoft and You.

    In-house developers (my situation) have only one customer, and the +$$ opportunities Dennis claims would be -$$ spent rewriting working models.

    As for attractive solutions, how much easier is it to activate the proper tab in the ribbon to find a particular custom command than to see it an click it in a command bar? To some people the ribbon may look better, and there’ll always be a market to cater to the fashion whims of the day.

  17. Simon Says:

    That would depend on what you mean by ‘real’!

    If ‘real’ means love new things that offer no business benefit to my clients but give them the chance to spend a load of cash for marginal or zero gain, then no I’m not. But I know many of the ‘MSDN crowd’ are.

    If real means I actively seek out the best value solutions to my clients real business problems using the most appropriate technology, then yes I would say I am a real dev.

    Which is why I am asking what the real benefits of the ribbon are? I’m sure there are some, but I can’t see them, or they are not relevant to the kind of work I do.

    You and I provide different solutions to different types of customer, I think you have more control over tech choice than I, and many others do.

    There are indeed many differences between Microsoft and Me. The obvious one is the power disparity.

    It might be worth (re)reading Fire and Motion from JOS, the ribbon seems a classic example of this to me.

  18. Dennis Wallentin Says:

    Harlan & Simon et al,

    I believe I should have used ‘businessman’ instead of ‘developer’ in my above comment.

    I always view things from the independed external consultance perspective although ‘independed’ can be subject for a longer discussion.

    The only keypoint with my previously comment is that both MSFT and independed external consultants share the same goal: To earn money

    In order to earn the money we need to evaluate everything from a strictly business perspective and nothing else. When new technologies are around they should be evaluated in terms of business usefulness, i e how to earn money based on them.

    Passion and business is never a happy marriage and therefore
    passion has nothing to do with business.

    Kind regards,

  19. Marcus Says:

    Simon – r-e-l–a-x. I was being somewhat (ok, completely) tongue-in-cheek.

    Cheers – Marcus

  20. Johan Nordberg Says:

    Why don’t you create a ribbon that displays all commands that you would like to have visible?

    Is it really that much more difficult to create an XML file and put load it in autostart or as an addin than it was to use Tools, Customize and drag and drop? Yeah, probably a little, but it’s not that difficult. In Office 2007 you can add groups of commands, so it should be less controls for the same amount of buttons.

    Have you seen this tool? It’s great when switching from Office 2003 to Office 2007.

    There’s a downloadable version of it as well.

  21. Simon Says:

    Marcus I am relaxed (possibly too relaxed) I hadn’t picked up the t-i-c ness.

    Dennis I think we pretty much agree about business and devs etc. I think where we differ is you are seeing more value in some of these things than me. I am trying to understand what i am missing, or if its a quirk of the types of things we build and the types of customers we have.

    Jon good point, I have been planning to sort this blog out for 9 months now, I can’t put it off much longer. You are right this layout wastes loads of space, but if the text was much wider it would get hard to read, maybe a 2 column layout would work.

  22. Jon Peltier Says:

    Simon –

    I don’t think you need two columns, maybe just a narrower margin on either side.

    I just started setting up a blog of my own. I figured I’d talk mostly about the mechanics of Excle charts, the how-to. But I’d also include stuff on why and particularly why not, regarding display best and worst practices. Plus hawk my utilities.

  23. Simon Says:

    Great news Jon
    let us know when you are ready to go.

  24. Biggus Dickus Says:

    Interesting conversation …….

    I am just back from San Jose and have come to some conclusions re the “Ribbon” (sorry – “The Fluent UI”) ….

    I personally have accepted the Ribbon as just another menuing system. I can use it.

    The fact that I am a technology guy though makes it fairly easy for me to convert. I do believe that for “normal people” (accepting that I am not “normal”) it IS a major aggravation and frustration and I do not think it was a very good idea on MS’s part to implement it. I do believe though that we have no choice but to accept it as a user UI.

    I do not however in any way criticize Simon for his “focus” on the Ribbon – I’m glad someone is doing it – good on ya mate. Frankly my reticence on this topic disappoints me (something about knowing which side your bread is buttered on ;-)).

    BUT – I continue to be frustrated by the fact that there is no easy way programmatically for us VBA developers to customize the Ribbon totally and completely to emulate our current command-bars AND to add the kind of functionality (referred to here in this thread) that replaces the need for many Forms (and completely can do away with the Task Pane (yay!)).

    In San Jose there were comments by both Bill G and by Richard McAniff to the effect that VBA HAS a future and in one case they said it is “forever” !!??!! I actually asked Richard that directly and he confirmed it. I think that this is exciting from the standpoint of NOT having to spend my clients’ or my own money to rewrite my apps in a new language just so they can do the same things they do now in a new environment. I accept that sometime out in the future we will have to go to managed code but that cannot be at the expense of the established base of VBA apps.

    But I also think that unless some kind of “baked-in” VBA automation story for the Ribbon is added to VBA soon (maybe in the form of an Add-in for now) we are in BIG trouble promoting Excel as a solution for businesses. I need to be able to customize the ribbon in run-time using VBA on a document basis (just as I do with Commandbars) – no more no less.

    It’s already enough trouble selling Excel solutions without the Ribbon programmability complexity and limitations being put in our way as well.


  25. Simon Says:

    Thanks for the inside info Dick (and the support on my useful UI crusade).

    Interesting comments on VBA, actions speak louder than words though eh?

    Are they going to add direct VBA access to the task pain (sic)? Not that I would ever use it! (one of the Essbase shortcuts opens it up every time P-I-T-A)!

  26. Dennis Wallentin Says:


    >>I am trying to understand what i am missing..

    I don’t think You miss anything as it’s more like what kind of customers we have and the degree of impact we have when it comes to which technology to be used. Too many tend to express their business needs in terms of technology.

    As for VBA’s future and what MSFT will do with it I would like to point out what happend with classic VB.

    Kind regards,

  27. Biggus Dickus Says:

    “Are they going to add direct VBA access to the task pain (sic)? ”

    No idea – doubt it very much though.


Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: