RibbonX Updates for B2TR
Today's Guest Writer: Savraj Dhanjal
Savraj is a Program Manager on the Office User Experience team focused on user interface extensibility for Office developers.
As you may have discovered, we made a few tweaks to the UI developer story in Beta 2 Technical Refresh.
The biggest change is the updated Control ID list we published yesterday. We've updated the name of nearly every command in Office to be more logical, searchable, and easy to understand. If you are interested in finding out the ID numbers of commands for use with Group Policy, you can find them in these lists as well, in the Policy ID column.
We do not expect to change these IDs again for RTM, so (cross our fingers) this is the final list for Office 2007. We hope you find the new Excel-based lists easier to use and more flexible than the text files released with Beta 2.
Download Office 2007 B2TR Control ID List
If you have Beta 2 UI customizations which use a large number of built-in control IDs, manually updating each ID will take a while. So we wrote a command-line tool, UpdateIdMso, that takes a customUI xml file containing Beta 2 ID's and outputs a file with updated B2TR IDs. We hope this tool will make the upgrade process a bit easier for you.
We also have a new customUI schema for B2TR. The schema has only a couple of notable changes. We renamed the fileMenu tag to officeMenu and also changed advanced to dialogBoxLauncher. We made these changes to ensure that the developer model matches the final feature names in the product.
Along with the control ID list, another reference we've created is the Office 2007 Icons Gallery. Open this file and you'll get a new group on the Developer tab in Excel, filled with galleries of the icons you can reuse in your Office 2007 solutions. Just click an icon, and you'll learn its control ID. Use this ID with the imageMso attribute to copy our icons to your controls.
Download Office 2007 Icons Gallery
Perhaps the most interesting functionality we added in B2TR is the ability to execute built-in controls by control ID, and the ability to query control properties by control ID.
For example, if you want to find out if the Save button is enabled, just call:
application.CommandBars.GetEnabledMso("FileSave")
and we'll return a boolean with the answer. And if you want to programmatically execute an obscure command that has no object model equivalent, just fire off:
application.CommandBars.ExecuteMso("MyObscureControlID")
The other functions are GetImageMso, GetLabelMso, GetPressedMso, GetScreentipMso, GetSupertipMso, and GetVisibleMso.
The VBA object browser lists the function parameters and return values, which will also be detailed on our MSDN site when it is updated in the coming weeks.
Thanks and let us know if you have questions. Happy solution-building!
Comments
Anonymous
September 15, 2006
I seriously hope that the "Customizing the Office (2007) Ribbon User Interface for Developers" articels are beeing reviewed and touched up before RTM, currently those articels have the lowest quality I have seen in the MSDN in the last 5 years.
First, C is not C#, the author always talks about C and gives C# examples, that's just horrible.
Then there are so many mistakes in the attribute names (getScreen, what does that attribute do?) and function signatures where the author just did copy&paste from a different function...Anonymous
September 15, 2006
PingBack from http://www.istartedsomething.com/20060916/756-icons-office-2007/Anonymous
September 15, 2006
THANK YOU!
I like all those changes, especially the introduction of the beginnings of an OM.
Is B2TR feature-complete for RibbonX and related issues?Anonymous
September 15, 2006
The comment has been removedAnonymous
September 15, 2006
Joe,
you should make sure that the file is in the B2TR file format. Open it via Office button, Open in B2TR and use Save As to save it with a new file name. If that doesn't do it, send me your file via email. You can get my address from my website.Anonymous
September 15, 2006
Patrick,
Your suggestion didn't work, as it wouldn't let me open the template from within Word. However I did use what you said. I created a new template (therefore having the B2TR file format), and using the CustomUI editor copyied text from my template and then pasted it into the newly created template. Which worked perfectly.
Thanks very much for your help.Anonymous
September 15, 2006
To Andre (and others)
Thanks for the feedback! Since those documents were published, the Ribbon schema has undergone several changes. The papers are undergoing substantial updates and will be republished in the next couple of weeks. You might check my series of 6 blogs that provide more up-to-date samples (although I will be checking them for changed information when the revised articles are released. Stay tuned.Anonymous
September 15, 2006
Savraj released some new details on RibbonX. Find information about the ID's of built in controls,Anonymous
September 15, 2006
Thanks for the update! VBA is, in my opinion, the best feature in Microsoft Office.Anonymous
September 15, 2006
Thanks for the update.Anonymous
September 16, 2006
I think the new updates an functionality of the B2TR, including the RibbonX updates are great! Once I figured out the differences between the last version and this new one, I'm able to make excellent use of all the new Offfice Updates/RibbonX!!
Thank you!!Anonymous
September 16, 2006
Savraj,
Great with the new functions as they give us more control and more flexibility :)
If You can put together all the documentation and also improve the quality of the available examples then we will have the major guideline 'at our fingertop'.
Can You confirm that it will be possible to hook on a customized help when using the supertip "Press F1 for more help"? Is it possible to hide/remove it when no associated help is available?
If yes, can You upload an example for us?
TIA and all with kind regards,
DennisAnonymous
September 16, 2006
Savraj, thanks for listening to our many requests and doing something about them. Does the Excel addin for icon gallery exist for the other apps, or just Excel - and does it show the full set of Office icons, or just those available in Excel.
StephenAnonymous
September 16, 2006
Thanks Savraj,
Have any decisions been made as far as what icons developers can utilise in their own applications, I assume the ribbon is OK as Microsoft have exposed this to us, but what about actually extracting icons and using them in winforms regardless if its an Excel add-in or not.
Our primary product is an Excel add-in and we're in the middle of redesign work...
Cheers
DaveAnonymous
September 16, 2006
I noticed in outlook the 'send' button isnt within the ribbon. It is a generic, grey button. I liked it better when it was in the ribbon.Anonymous
September 16, 2006
David,
I haven't checked this yet, but the function GetImageMso sounds like it would return the actual icon.Anonymous
September 17, 2006
The link: http://www.sunflowerhead.com/msimages/Office2007IconsGallery.zip for downloading the Office 2007 icons is not working. Please post an updated link as I would like to download these files.Anonymous
September 17, 2006
technochrista:
The link works fine for me...Anonymous
September 18, 2006
You moved the Send button!!! Arrrrr!!!!!!!!! Gru Mad!Anonymous
September 18, 2006
The comment has been removedAnonymous
September 18, 2006
Hey everyone,
Glad you liked the updates. Some responses:
1) Unfortunately you cannot hook the "press F1 for help" supertip this release.
2) The icon gallery as an Excel workbook contains all of the icons. It is not just limited to Excel.Anonymous
September 18, 2006
Any chance of you guys putting out the individual icons in PNG.GIF/ICO format so that we can use them in our own apps? Thanks!Anonymous
September 18, 2006
Savraj,
Thanks for clearing it out. Does it mean that it will be possible in the final release of 2007?
Kind regards,
DennisAnonymous
September 19, 2006
Hi Dennis! It will not be possible to override "Press F1 for Help" in Office 2007.Anonymous
September 19, 2006
I second Dennis' request for being able to hook or hide the "Press F1 For Help" message in a custom ribbon.Anonymous
September 21, 2006
Savraj,
one thing puzzles me conceptually about RibbonX: I assume CommandBars::GetPressedMso (as Office UI state in general) is per-container and may give different answers for different CommandBars objects. For example, Excel has a Application::CommandBars for the main window, and Workbook::CommandBars for OLE-embedded workbooks.
But which container am I supposed to give an answer for when my IRibbonExtensibility::get_Pressed callback is called?
Thanks for help,
ArnoAnonymous
September 21, 2006
Another vote for hiding the "Press F1 For Help" message in a custom ribbon.Anonymous
September 23, 2006
PingBack from http://www.scottjamison.com/blog/PermaLink,guid,616b329a-a397-4aeb-bf96-583ecb4bd6a5.aspxAnonymous
September 24, 2006
I have asked about this before, but where is the accessibility in the Office 2007 UI? Personally, I like it, though I think the hubris regarding the lack of UI customization for power users is very short sighted; but what of users who have vision problems (whether not being able to see the nearly microscopic QAT or unable to view the toolbars because of color-blindness)? Want to replace labels with icons (or visa versa)? Sorry, can't do that. Want to make all your icons larger? Sorry, we've fixed the ribbon so that's impossible.
I ask the question again - why is the 2007 UI ignoring users with vision problems? Perhaps Microsoft will consider this before RTM and an ADA lawsuit.Anonymous
September 24, 2006
The comment has been removedAnonymous
September 25, 2006
I have written a com add in but cannot bind a function written there using KeyBindings. plz help.Anonymous
October 02, 2006
The download link for the UI style guide for solutions and add-ins doesn't work anymore: http://www.microsoft.com/downloads/info.aspx?na=47&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=15805380-F2C0-4B80-9AD1-2CB0C300AEF9&u=details.aspx%3ffamilyid%3d19E3BF38-434B-4DDD-9592-3749F6647105%26displaylang%3den Is there somewhere else we can obtain this?Anonymous
October 05, 2006
Savraj Dhanjal's VBA-Sample seems not to work anymore with B2TR. Anybody else experienced this? Also tried UpdateIDMso on the customui.xml, but it crashes like below :-( Unhandled Exception: System.Security.SecurityException: Request for the permissi on of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2. 0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed. at System.Runtime.Serialization.Formatters.Binary.ObjectReader.CheckSecurity( ParseRecord pr) at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObject(Pa rseRecord pr) etc.Anonymous
October 05, 2006
Is it really impossible to remove/make invisible a single button from an existing tab? I get an error message. That's the way I tried it: <tab idMso="TabMailings"> <group idMso="GroupMailMergeWriteInsertFields"> <button idMso="MailMergeAddressBlockInsert" visible="false" /> </group> </tab> Removing a complete group works. But only making a button invisible gives an error message. By the way: Does anybody here know the location where it is saved, which mailmerge fields from the data source correspond to the address block fields?Anonymous
October 05, 2006
This one doesn't give an error but doesn't work either: <officeMenu> <button idMso="FileInternetFax" visible="false"/> </officeMenu> ...while this one works as expected: <officeMenu> <menu idMso="FileSendMenu" visible="false"/> </officeMenu>Anonymous
October 09, 2006
If you have been developing custom Ribbon UI solutions like Mindjet or ClearContext , you've noticedAnonymous
October 18, 2006
I have loaded the CustomUI.xsd. I tried to find the keyword "advanced", and it is impossible to find it ! Impossible to create an advanced element in a group in Outlook 2007. Is it normal ? ThanksAnonymous
October 18, 2006
OK, it seems that "advanced" is replaced by "dialogBoxLauncher". Could you modify your examples or add a note on your examples ? ThanksAnonymous
August 11, 2008
PingBack from http://hoursfunnywallpaper.cn/?p=1005Anonymous
September 01, 2008
PingBack from http://www.easycoded.com/ribbonx-updates-for-b2tr/Anonymous
October 27, 2008
PingBack from http://mstechnews.info/2008/10/the-office-2007-ui-bible/Anonymous
October 27, 2008
PingBack from http://mstechnews.info/2008/10/ribbonx-updates-for-b2tr/Anonymous
May 31, 2009
PingBack from http://woodtvstand.info/story.php?id=4638Anonymous
June 18, 2009
PingBack from http://adirondackchairshub.info/story.php?id=2655Anonymous
June 19, 2009
PingBack from http://debtsolutionsnow.info/story.php?id=12440