Customized the Office 2010 Backstage View
-
Thursday, July 19, 2012 1:15 PM
I have created an MS Word 2010 Back Stage UI using this tutorial
http://msdn.microsoft.com/en-us/library/ff936212.aspx#Y1168
In my Back stage UI the XML file is like this.
<?xml version="1.0" encoding="utf-8" ?> <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> <backstage> <button id="FSConvertor" insertAfterMso="TabInfo" label="Convert FS To MS Word" imageMso="FileSaveAs" onAction="OnAction" isDefinitive="true" /> </backstage> </customUI>Now I want pass the location of currently opened document onto this plugin and I want this UI to be disabled. It should be enabled only when someone opens a file name with .ODT extension within the MS Word 2010. How can I accompalish this?
Thanks in Advance.
Adeel
- Edited by maverick786us Tuesday, July 24, 2012 9:27 AM
All Replies
-
Friday, July 20, 2012 1:40 PMModerator
Hi Adeel
It would probably be best for your Com Add-in to monitor the Word Application's DocumentChange event. After this event fires, the Application.ActiveDocument is the currently active document. So you can extract the extension from ActiveDocument.Name to determine whether the <button> should be enabled or disabled.
For this, you need to include the getEnabled attribute in the element. The value assigned to that is the name of a method in your code file that handles the Ribbon callbacks (the same place you have OnAction). The DocumentChange event needs to trigger the InvalidateControl method for the RibbonUI. That will cause the <button> element to re-evaluate all its callbacks, such as getEnabled. The callback will evaluate the file name of the ActiveDocument and set the return value for the callback to either true or false, as required.
For more information on using callbacks and InvalidateControl, please consult the three-part article on customizing the Ribbon UI. Link for Part 1: http://msdn.microsoft.com/en-us/library/aa338202(office.12).aspx
Cindy Meister, VSTO/Word MVP
- Marked As Answer by maverick786us Tuesday, July 24, 2012 10:43 AM
-
Monday, July 23, 2012 8:59 AMModerator
Hi Adeel
As you've posted a new question about handling events - which I've moved to the more appropriate Word for Developers forum - let's follow-up there.
Cindy Meister, VSTO/Word MVP

