Partager via


Introduction to the Office 2010 Backstage View for Developers

Summary: Microsoft Office 2010 introduces the Microsoft Office Backstage view, the latest innovation in the Office Fluent User Interface, and a companion feature to the Ribbon. Examine the components that comprise the Backstage and explore scenarios that show you how you can extend the Backstage across various Office applications. (42 printed pages)

Applies to: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Word 2010

Published:   November 2009

Updated:   April 2010

Contents

  • Introducing the Microsoft Office 2010 Fluent Backstage View

  • Glossary of Backstage View Terms

  • Components of the Backstage View

  • Backstage View Extensibility

  • Customizing the Backstage User Interface by Using Open XML Files

  • Customizing the Backstage View by Creating a Shared COM Add-In

  • Frequently Asked Questions

  • Descriptions, Attributes, and Child Information for the Backstage View Controls

  • Conclusion

  • Additional Resources

Introducing the Microsoft Office 2010 Fluent Backstage View

In the 2007 release of the Microsoft Office system, file-level functionality was accessible on the Office menu that was available by clicking the Office button.

In Microsoft Office 2010, the Office button is replaced by a File tab. Clicking the File tab takes you to the Microsoft Office Backstage view. Backstage view helps you discover and use the features that fall outside the authoring features on the Ribbon. Ribbon, Mini toolbar and galleries all help you work in your documents; Backstage view helps you work with your documents.

Backstage view is fully extensible by developers, permitting organizations to customize the user interface (UI) to suit their own needs. And best of all, the Backstage UI is customizable by using the same files, callbacks, and many of the controls used in the Ribbon. This means that developers already familiar with customizing the Ribbon UI can use those same skills to create a Backstage UI targeted at the needs of their organization.

The Backstage UI exists in almost all Microsoft Office 2010 applications that support the Office Fluent UI: Microsoft Access 2010, Microsoft Excel 2010, Microsoft OneNote 2010, Microsoft PowerPoint 2010, Microsoft Project 2010, Microsoft Publisher 2010, Microsoft Visio 2010, and Microsoft Word 2010. The following sections describe the structure of the new UI, and examine details you need to implement your own custom Backstage UI.

Glossary of Backstage View Terms

The following lists common terms that are used throughout this article:

  • Backstage view A full-screen user interface model that exposes file-level functionality for the active document. It is part of the Microsoft Office Fluent user interface, which replaces the previous system of layered menus, toolbars, and task panes.

  • Definitive command A command that take you from the Backstage view back to the document. Definitive commands close the Backstage view when they are invoked. Some examples of such commands are Save, Save As and Print.

  • Fast Command A command that exist on the left-hand navigation bar, providing quick access to common functionality. Some examples of such commands are Save, Save As, and Close.

  • Tab A page within the Backstage view that is scoped to a particular task. The Backstage view consists of a set of top-level tabs. The first (top-most) tab is the default. If no location is specified, custom tabs are added at the very bottom of the navigation bar, below all of the existing tabs and fast commands. There is an upper bound of 255 tabs allowed in the Backstage view.

  • Group UI container used to organize related functionality inside of Backstage tabs by groups.

Components of the Backstage View

In this section, you examine the components of the Backstage view. Looking at Figure 1, one of the first things you notice after launching an Office 2010 application is the new File tab which replaces the Office button. Clicking the File tab displays the Backstage view. You can also open the Backstage view by pressing the Alt + F keys.

Figure 1. The new File tab

Microsoft Office Button

On the left-side of the Backstage is the navigation bar with fast commands (such as Save and Open) and tabs (such as Info and Recent), as shown in Figure 2.

Figure 2. The Backstage view

Navigation tabs

Fast commands provide access to frequently used tasks that are not explicitly associated with tabs.

A tab groups together functionality related to a common task and distributes it across one or two columns in a set of groups (like Compatibility Mode and Permissions).

Backstage View Extensibility

In addition to providing the user with an improved experience for document properties, creation, and output capabilities, the Backstage view is a place where IT departments and third-party developers can connect to provide custom document management functionality. There are few typical scenarios for Backstage view extensibility:

  • A solution provider wants to add line of business data to the Backstage view:

    • The solution provider may wish to create an entirely new tab to display a large quantity of information related to the active file.

    • The solution provider may wish to add a group to an existing tab (especially the Info tab) so that the information is highly visible.

  • A solution provider may wish to surface new functionality in the Backstage view:

    • The solution provider may wish to create a new tab focused around this custom functionality (e.g. junk mail management).

    • The solution provider may wish to add custom functionality to an existing tab because that tab is a logical home for the new feature, or use it as a fast command because the functionality in question will be used frequently and can be represented with a single button.

Developers familiar with Ribbon UI extensibility should feel comfortable with Backstage view extensibility as it uses essentially the same files and structures. Components are added to the Backstage view by using XML and functionality is associated with those components by using callback procedures.

Note

For more information about Ribbon extensibility, see the three part series of articles titled Customizing the 2007 Office Fluent Ribbon for Developers.

Define Custom Backstage View Content and Structure via XML

Just as with the Ribbon UI, the structure and components of the Backstage view are defined by using XML markup. The following example shows the general format of an XML markup file that customizes the Backstage view in Word 2010. The following sections describe this markup in more detail. This markup results in the customized Backstage view shown in Figure 3.

Figure 3. The custom Backstage tab built in this example

Custom tab area

Note

The XML for modifying the Ribbon UI is also included to show that it co-exists in the same XML file as the Backstage view markup

<customUI xmlns="https://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">
  <backstage>    
   <tab id="testArea" insertAfterMso="TabInfo" label="Sample Scenarios" columnWidthPercent="30" >
      <firstColumn>
         <group id="grpOne" label="Group One" helperText="This is helper text for Group One">
            <primaryItem>
               <button id="firstButton" label="Primary Button" onAction="SampleCallback" />
            </primaryItem>
            <topItems>
            <layoutContainer id="layoutOne" layoutChildren="vertical">
               <editBox id="firstEBox" label="Sample Edit Box" alignLabel="topRight" />
               <button id="sampleButton" label="Sample Definitive Button" isDefinitive="true" imageMso="FileDocumentInspect" />
            </layoutContainer>
            </topItems>
         </group>
         <group id="grpTwo" label="Group Two" visible="true" >
             <primaryItem>
                <menu id="menuOne" label="DropDown Menu">
                   <menuGroup id="menuGrpOne" >
                      <button id="btnOne"  label="Button one" />
                      <button id="btnTwo" label="Button two" />
                      <checkBox id="chkBoxOne" label="Sample Check Box" />
                   </menuGroup>
                </menu>
            </primaryItem>
             <topItems>
                <editBox id="secondEBox" label="Disabled Edit Box"  enabled="false"/>
                <imageControl id="imgControlOne" imageMso="BlogHomePage"/>
                <groupBox id="grpBox" label="Group Box with Check Boxes and Radio Group">
                   <checkBox id="chkBox1" label="A Check Box" />
                   <checkBox id="chkBox2" label="Disabled Check Box" enabled="false" />
                   <radioGroup id="rdoGrp" label="Nested Radio Group" >
                      <radioButton id="firstRadioBtn" label="1st Radio Button"/>
                      <radioButton id="secondRadioBtn" label="2nd Radio Button"/>
                      </radioGroup>
                </groupBox>
             </topItems>
          </group>
      </firstColumn>
      <secondColumn>
         <group id="grpThree" label="Group Three" visible="true">
            <topItems>
               <comboBox id="firstCBox" label="Sample Combo Box" >
                  <item id="itema" label="Cat"/>
                  <item id="itemb" label="Dog"/>
                  <item id="itemc" label="Fish"/>
               </comboBox>
               <layoutContainer id="layoutTwo" layoutChildren="vertical">
                  <editBox id="thirdEBox" label="Part of vertical layout" />
                  <editBox id="fourthEBox" label="Part of vertical layout" />
                  <editBox id="fifthEBox" label="Part of vertical layout" />
               </layoutContainer>
               <layoutContainer id="layoutThree" layoutChildren="horizontal">
                  <button id="anotherButton" label="Horizontal layout" imageMso="NewAppointment" />
                  <hyperlink id="hyperLink" label="You can place a link here"/>
                  <button id="lastButton" label="Horizontal layout" />
               </layoutContainer>
            </topItems>
          </group>
      </secondColumn>
   </tab>
  </backstage>
</customUI>

The <backstage> element delimits the custom structures of the Backstage UI. Hierarchically, the <backstage> element is one of the four allowed top-level elements inside of the <customUI> element. The other allowed elements at same level are <ribbon>, <contextMenus> and <commands>.

Within the <backstage> element, it is possible to host fast commands (represented by <button> element) and <tabs>; in this example, the Backstage contains a single <tab> element. The <tab> element includes several attributes such as the following:

  • id The tab’s identifier.

  • insertAfterMso The identifier of the built-in tab after which the custom tab should be inserted. In this example, custom tab is added after the Info tab.

  • label The text that appears on the tab; in this example, the tab’s label is Sample Scenarios.

  • columnWidthPercent Specifies the width of the first column in the tabbed area, as a percentage. The width of the two columns is a total of 100% so if the first column is set at 30%, the second column is 70% of the total width.

The tab is labeled and it is placed after the built-in Info tab.

Note

All attributes in Microsoft Office Fluent UI XML customization markup use the camel-casing convention, which capitalizes the first character of each word except the first word—examples include onAction and insertBeforeMso.

Each <tab> element can have one or two columns; in this case, the custom Sample Scenarios tab contains two columns. Further, each column can host multiple <group> elements; in this example, there are two groups in the first column (they are labeled Group One and Group Two) and a single group (Group Three) in the second column. The <group> element also allows several attributes such as id, label, visible, enabled, and helperText, to name just a few.

Note

You can find a listing of control elements and associated attributes, element children, and other information later in this article.

Conceptually, custom Backstage groups are similar to Ribbon groups, with two notable differences. First, unlike a Ribbon group, a Backstage group is not required to position its content into exactly (up to) three rows; in this example, there are several various <layoutContainer> elements providing the structure and rich layout capabilities, but without the three-row restriction. This element contains a layoutChildren attribute that allows you to specify whether the child objects it contains are oriented horizontally or vertically. Second, unlike a Ribbon group, a Backstage group can include an optional <primaryItem> element, which can either be a <button> or a <menu>. The <primaryItem> provides the central point of focus for a group which can be a button (like the primary button inside of Group One) or menu (like the dropdown menu inside of Group Two).

Looking at the <button> element in the sample, one of the attributes it contains is isDefinitive. When this attribute is set to true, clicking the button triggers its callback and then closes the Backstage view, returning you back to the document.Looking through the remainder of the XML, there are several components defined along with various attributes. The resulting custom tab looks similar to Figure 3.

Use Callbacks to Add Functionality

Looking back at the sample, when you click the button, the callback subroutine pointed to in the onAction attribute is triggered. The following example shows a simple callback that might be triggered from the button.

Sub SampleCallback(ByVal control As IRibbonControl)
   MsgBox "You clicked the " & control.Id & " button. "
End Sub

In this instance, when the procedure is called, Microsoft Office passes in an IRibbonControl object that represents the calling control. Properties of the IRibbonControl object include the Id and Tag properties. As illustrated in the code, the Id property lets you call the same procedure from different controls. All callback procedures take the IRibbonControl object and may also include other properties such as the pressed status of a toggle button.

The next few sections demonstrate the steps to customize the Backstage view at the document-level by modifying an Open XML Format file and at the application-level by using a COM add-in created in managed code in Microsoft Visual Studio. For the procedure customizing the Backstage view at the document-level, you can use the XML described in the previous section. The COM add-in uses different XML to modify the Backstage view.

Customizing the Backstage User Interface by Using Open XML Files

At the document level, the process for customizing the Microsoft Office Fluent UI by using XML markup involves the following steps. You can follow these steps by using the XML markup described in the previous section.

Note

Although you should know what is going on within the Office Open XML File structure, you may be able to bypass these steps. You can take advantage of the Office 2007 Custom UI Editor. This tool enables you to open a document, insert custom UI (with a part targeted to Office 2007 or Office 2010), and then save the document together with the XML markup. It performs the steps listed in this example for you. It also enables you to add custom icons to the customUI folder, and makes it easy to refer to these icons.

To define Backstage view content and structure by using Open XML format files

  1. Create a folder on your desktop named customUI.

  2. Create the customization file in any text editor by writing XML markup that adds new components to the Microsoft Office Fluent UI, modifies existing components, or hides components. Use the XML markup from the example seen earlier in this article. Save the file as customUI14.xml in the folder that you created.

  3. Validate the XML markup against the custom Microsoft Office Fluent UI schema (optional).

  4. Create a document in Microsoft Word 2010 and then save it as an Open XML macro-enabled file that has the .docm extension. You must save the document in a macro-enabled format if you want to add code that reacts when the user interacts with the Microsoft Office Fluent UI customization.

    Note

    You should also make sure that macros are enabled for the document. You can do that by clicking the File tab, and then clicking the Trust Center tab. Click the Trust Center Settings button, and then select Enable all macros.

  5. Exit Word.

  6. In Microsoft Windows Explorer, add the file name extension .zip to the document file name, and then double-click the file to open it as a compressed folder.

  7. Add the customization file to the container by dragging the customUI folder from the desktop to the zip folder.

  8. Drag the _rels folder from the .zip folder to the desktop. A folder named _rels that contains the .rels file appears on the desktop.

  9. Open the new folder, and then open the .rels file in a text editor.

  10. Between the final <Relationship> element and the closing <Relationships> element, add the code that creates a relationship between the document file and the customization file as shown in the following example. Ensure that you specify the folder and file names correctly (the Id attribute supplies a unique relationship ID for the customUI file—its value is arbitrary as long as it is unique).

    <Relationship Type="https://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml" Id="customUIRelID" />
    
  11. Save the .rels file and then drag it to the _rels folder in the compressed file, replacing the existing .rels file.

  12. Remove the .zip extension and then open the document.

To add callbacks to the workbook to give the Backstage view functionality

  1. Click the Developer tab, and then click Visual Basic.

    Note

    If you do not see the Developer tab, you must set this option. To do this in your application, click the Microsoft Office button, click Options, click Ribbon, and then in the Arrange Commands on Tab box, select the Developer option. This is a global setting that identifies you as a developer in all Office applications that implement the Microsoft Office Fluent UI.

  2. In the Visual Basic Editor, double-click ThisDocument to open the code window.

  3. Type the VBA function as shown in the following example.

    Sub SampleCallback(ByVal control As IRibbonControl)
       MsgBox "You clicked the " & control.Id & " button. "
    End Sub
    
  4. Save the document and then close the Visual Basic Editor.

  5. Click the Microsoft Office button and then click the Sample Scenarios tab.

  6. Click the button marked Primary Button. Figure 4 shows the dialog box.

    Figure 4. This dialog box is displayed after clicking the Primary button

    Dialog box after clicking the Primary button

Customizing the Backstage View by Creating a Shared COM Add-In

You can also use COM add-ins to change the Microsoft Office Fluent UI. When you decide to create a COM add-in that incorporates UI customization and uses managed code, you have two choices. You can create a standard COM add-in by using the Shared Add-In template that is included with Microsoft Visual Studio 2010. Or, if you have installed Microsoft Visual Studio 2010 Tools for Office, you can create a COM add-in that has several advantages over the standard shared add-in.

Among other advantages, add-ins that you create by using Microsoft Visual Studio 2010 Tools for Office run in separate application domains, and the programming model for these add-ins is simpler, and more maintainable than that used by the shared add-in template.

However in the following steps, you create a managed Microsoft Word COM add-in by using a standard share add-in. For more information about how to create a custom Microsoft Office Fluent UI by using a shared COM add-in and by using Microsoft Visual Studio Tools for Office, see the article titled Customizing the 2007 Office Fluent Ribbon for Developers (Part 1 of 3).

To change the Microsoft Office Fluent UI by building a shared COM Add-in

  1. Start Microsoft Visual Studio 2008.

  2. On the File menu, point to New, and then click Project.

  3. In the New Project dialog box, in the Project Types pane, expand Other Project Types, click Extensibility, and then select Shared Add-in.

  4. In the Name box, type BackStageCOMAddin, and then click OK to create the project.

  5. On the first page of the Shared Add-in Wizard, click Next.

  6. On the Select a Programming Language page, select either Visual C# or Visual Basic, and then click Next.

  7. On the Select an Application Host page, clear all of the selections except Microsoft Word, and then click Next.

  8. On the Enter a Name and Description page, type BackStageCOMAddin for the name and Update the Word Backstage View for the description, and then click Next.

  9. On the Choose Add-in Options page, select I would like my Add-in to load when the host application loads, click Next, and then click Finish.

Visual Studio creates a new solution that contains two projects—the add-in itself, and a Setup project. (The Setup project enables you to install the add-in on other users' computers, and it makes it easier for you, at design time, to install and uninstall the add-in.)

To interact with Word 2010 and the Microsoft Office Fluent UI object model, you must have references to type libraries as follows.

To add references to type libraries

  1. In Solution Explorer, expand the References folder. If you do not see the References folder, on the Project menu, click Show All Files.

  2. Delete the Microsoft.Office.Core reference.

  3. Right-click the References folder, and then click Add Reference.

  4. Click the COM tab, select Microsoft Office 14.0 Object Library, and then click OK.

  5. At the top of the code screen, add the statements as show in the following examples.

    Imports Office = Microsoft.Office.Core
    Imports Word = Microsoft.Office.Interop.Word
    
    using Office = Microsoft.Office.Core;
    using Word = Microsoft.Office.Interop.Word;
    

To create the XML customization file

  1. On the Project menu, click Add New Item.

  2. In the Add New Item dialog box, select XML File. Name the new file customUI14.xml, and then click Add.

  3. In the new XML file, add XML markup as shown in the following example.

    <customUI xmlns="https://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">
      <backstage>
        <tab id="testArea" label="Sample" insertAfterMso="TabInfo" visible="true" >
          <firstColumn>
            <group id="grpOne" label="Group One">
              <primaryItem>
                <button id="btnButton" label="Button" imageMso="BevelShapeGallery" />
              </primaryItem>
              <topItems>
                 <layoutContainer id="layoutOne" layoutChildren="vertical">
                    <editBox id="ebox1" label="Edit Box" alignLabel="topRight" />
                    <button id="btnButton1" label="Button" imageMso="BevelShapeGallery" isDefinitive="true" />
                    <editBox id="ebox2" label="Edit Box" />
                 </layoutContainer>
              </topItems>
            </group>
            <group id="grpTwo" label="Group Two" >
              <primaryItem>
                <menu id="menuOne" label="Drop Down Menu">
                  <menuGroup id="menuGrpOne" >
                    <button id="menuButtonOne" label="Menu Button" />
                    <button id="menuButtonTwo" label=" Menu Button" />
                    <checkBox id="chkBox" label="CheckBox" />
                  </menuGroup>
                </menu>
              </primaryItem>
              <topItems>
                 <editBox id="ebox3" label="Edit Box"/>
              </topItems>
            </group>
          </firstColumn>
        </tab>
      </backstage>
    </customUI>
    
  4. Save and close the file.

It is easiest to use the XML file if it is treated as a resource within the project's resource file.

To add the XML file as a project resource

  1. In Solution Explorer, select customUI14.xml.

  2. In the Properties window, select the Build Action property, and then select Embedded Resource in the list of options.

  3. On the Project menu, click BackStageCOMAddin Properties.

  4. Click the Resources tab.

  5. From Solution Explorer, drag customUI14.xml onto the Resources design surface.

    This action creates a new file-based resource that contains the XML content. From now on, the customUI.xml file is automatically stored as an application resource, and you can retrieve this content by using Visual Basic or Visual C# language features.

  6. Close the Resources window. When prompted, click Yes to save the resources dialog.

To access the host application and work with the Backstage view

  1. In Solution Explorer, right-click Connect.cs or Connect.vb, and then click View Code.

  2. Find the existing declaration for the applicationObject variable, and change it so that it refers to a Word.Application object. That is, change the declaration so that it looks as shown in the following examples.

    Private applicationObject As Word.Application
    
    private Word.Application applicationObject;
    
  3. Change the existing line in the OnConnection method, which creates an instance of the Word.Application object.

    applicationObject = DirectCast(application, Word.Application)
    
    applicationObject =(Word.Application)application;
    
  4. (Visual Basic only) Change the line of code, near the top of the class, that begins with Implements, adding support for implementing the IRibbonExtensibility namespace as shown in the following example, and then press Enter. Visual Basic inserts the GetCustomUI procedure automatically.

    Implements Extensibility.IDTExtensibility2, IRibbonExtensibility
    
  5. (C# only) At the end of the public class Connect : statement, add a comma and then type the interface name as shown in the following example.

    IRibbonExtensibility
    
  6. (C# only) Right-click the interface that you added, click Implement Interface, and then click Implement Interface Explicitly. This adds a stub procedure for the only IRibbonExtensibility interface member: GetCustomUI.

  7. Change the GetCustomUI method so that it looks like the following example.

    Public Function GetCustomUI(ByVal RibbonID As String) As String Implements Microsoft.Office.Core.IRibbonExtensibility.GetCustomUI
       Return BackStageCOMAddin.My.Resources.customUI14
    End Function
    
    string IRibbonExtensibility.GetCustomUI(string RibbonID)
    {
      return Properties.Resources.customUI14;
    }
    

    Important

    GetCustomUI is implemented to return the XML string for your user interface customization, and should not be used for initialization. In particular, you should not attempt to display any dialog boxes or message windows in your GetCustomUI implementation. The more appropriate place to do initialization is in the OnConnection method (for shared add-ins) or in the ThisAddIn_Startup method (for add-ins created by using Microsoft Visual Studio Tools for Office).

  8. Add the following method to the class. This method is called when the Ribbon UI is loaded and creates a variable referencing the Ribbon UI and then repaints the Ribbon.

    Private myRibbon As Office.IRibbonUI
    Sub OnLoad(ByVal ribbon As Office.IRibbonUI)
       myRibbon = ribbon
       myRibbon.Invalidate()
    End Sub
    
    IRibbonUI myRibbon;
    public void OnLoad(IRibbonUI ribbon)
    {
       myRibbon = ribbon;
       myRibbon.Invalidate();
    }
    

Frequently Asked Questions

The following are frequently asked questions that relate to the Backstage View.

  • What is the maximum number of custom tabs I can add to the Backstage View?
    The upper bound for the number of tabs is 255.

  • Can I specify where to add a tab?
    You can specify whether a custom tab is displayed before or after an existing tab.

  • Can I reorder existing tabs?
    You cannot re-order existing tabs. You may only specify the relative order of tabs by inserting a tab before or after another tab.

  • Can I modify the column layout of existing tabs?
    You cannot change the column layouts of any existing tab that you did not create.

  • Where can I add groups?
    You can add a new group to any column of an existing tab. You can also specify whether the new group is displayed before or after an existing group. One restriction is that you cannot add more groups to tabs which contain a taskFormGroup such as the Share tab.

  • Can I reorder existing groups?
    You cannot reorder existing groups. You can only specify relative orders for new groups that you create.

  • When I add multiple COM add-ins that modify the Backstage to an Microsoft Office application, how do I know the order in which they are implemented?
    The order of precedence between competing modifications is the last one loaded wins.

  • Can I repurpose one of the existing definitive command buttons, fast command buttons, or tabs by changing its onAction callback attribute? For example can I change the file Save button so that is has an additional type, or displays only one file type?
    It is not possible to override these commands from the custom UI XML markup or by using the object model. Using the DocumentBeforeSave event is one alternative, but using that doesn't really change the functionality of the individual commands that show up in the Change File Type gallery in the Backstage.

    A better solution would be to consider hiding the built-in UI and rebuilding it fully with custom commands.

Descriptions, Attributes, and Child Information for the Backstage View Controls

The following XML reference contains details about the controls that are included as part of the Backstage view.

Backstage

Represents the backstage element

Attribute

Type

Callback Signature

onHide

Callback

VBA: Sub OnHide(contextObject As Object)

C#: void OnHide(object contextObject)

Visual Basic: Sub OnHide(contextObject As Object)

C++: HRESULT OnHide([in] Object *pContextObject)

onShow

Callback

VBA: Sub OnShow(contextObject As Object)

C#: void OnShow(object contextObject)

Visual Basic: Sub OnShow(contextObject As Object)

C++: HRESULT OnShow([in] Object *pContextObject)

Children: tab, button

bottomItems

A delimiter for a lower set of groups.

Attributes: None

Children: groups

Button

Represents a button control.

Attribute

Type

Callback Signature

*description

String

Not applicable

enabled

Boolean

Not applicable

*expand

Boolean

Not applicable

*getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*getShowImage

Callback

VBA: Sub GetShowImage(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowImage(IRibbonControl control)

Visual Basic: Function GetShowImage(control As IRibbonControl) as Boolean

C++: HRESULT GetShowImage([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel (IRibbonControl control)

Visual Basic: Function GetShowLabel (control As IRibbonControl) as Boolean

C++: HRESULT GetShowLabel ([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

*idMso

String

Not applicable

idQ

String

Not applicable

image

String

Not applicable

imageMso

String

Not applicable

*insertAfterMso

String

Not applicable

*insertAfterQ

String

Not applicable

*insertBeforeMso

String

Not applicable

*insertBeforeQ

String

Not applicable

*isDefinive

Boolean

Not applicable

*keytip

String

Not applicable

label

String

Not applicable

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl)

C#: void OnAction(IRibbonControl control)

Visual Basic: Sub OnAction(control As IRibbonControl)

C++: HRESULT OnAction([in] IRibbonControl *pControl)

*screentip

String

Not applicable

*showImage

Boolean

Not applicable

*showLabel

Boolean

Not applicable

*style

String

Not applicable

*supertip

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

* Not used in all implementations

Children: None

Category

Represents a category container.

Attribute

Type

Callback Signature

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idMso

String

Not applicable

idQ

String

Not applicable

insertAfterMso

String

Not applicable

insertAfterQ

String

Not applicable

insertBeforeMso

String

Not applicable

insertBeforeQ

String

Not applicable

label

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: task

Check Box

Represents a checkBox control.

Attribute

Type

Callback Signature

description

String

Not applicable

enabled

Boolean

Not applicable

*expand

Boolean

Not applicable

getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getPressed

Callback

VBA: Sub GetPressed(control As IRibbonControl, ByRef returnedVal)

C#: bool GetPressed(IRibbonControl control)

Visual Basic: Function GetPressed(control As IRibbonControl) As Boolean

C++: HRESULT GetPressed([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

*idMso

String

Not applicable

idQ

String

Not applicable

*insertAfterMso

String

Not applicable

*insertAfterQ

String

Not applicable

*insertBeforeMso

String

Not applicable

*insertBeforeQ

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl)

C#: void OnAction(IRibbonControl control)

Visual Basic: Sub OnAction(control As IRibbonControl)

C++: HRESULT OnAction([in] IRibbonControl *pControl)

*screentip

String

Not applicable

*supertip

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

* Not used in all implementations

Children: None

Combo Box

Represents a comboBox control.

Attribute

Type

Callback Signature

alignLabel

String

Not applicable

enabled

Boolean

Not applicable

expand

Boolean

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

Callback

VBA: Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#: int GetItemCount(IRibbonControl control)

Visual Basic: Function GetItemCount(control As IRibbonControl) as Integer

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

Callback

VBA: Sub GetItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

Callback

VBA: Sub GetItemLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getText

Callback

VBA: Sub GetText(control As IRibbonControl, ByRef returnedVal)

C#: string GetText(IRibbonControl control)

Visual Basic: Function GetText(control As IRibbonControl) As String

C++: HRESULT GetText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idQ

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

onChange

Callback

VBA: Sub OnChange(control As IRibbonControl, text As String)

C#: void OnChange(IRibbonControl control, string text)

Visual Basic: Sub OnChange(control As IRibbonControl, text As String)

C++: HRESULT OnChange([in] IRibbonControl *pControl, [in] BSTR pbstrText)

sizeString

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: item

Command

Specifies attribute overrides for all controls with the specified idMso value.

Attribute

Type

Callback Signature

enabled

Boolean

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

idMso

String

Not applicable

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl)

C#: void OnAction(IRibbonControl control)

Visual Basic: Sub OnAction(control As IRibbonControl)

C++: HRESULT OnAction([in] IRibbonControl *pControl)

Children: None

Commands

Specifies a collection of Command elements.

Attributes: None

Children: command

Control

Control elements can enable, disable, or clone existing controls.

Note

Creating a new (custom) controls with the Control element is not possible because the Control type cannot be specified.

Attribute

Type

Callback Signature

enabled

Boolean

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getShowImage

Callback

VBA: Sub GetShowImage(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowImage(IRibbonControl control)

Visual Basic: Function GetShowImage(control As IRibbonControl) as Boolean

C++: HRESULT GetShowImage([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel (IRibbonControl control)

Visual Basic: Function GetShowLabel (control As IRibbonControl) as Boolean

C++: HRESULT GetShowLabel ([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

idMso

String

Not applicable

idQ

String

Not applicable

image

String

Not applicable

imageMso

String

Not applicable

insertAfterMso

String

Not applicable

insertAfterQ

String

Not applicable

insertBeforeMso

String

Not applicable

insertBeforeQ

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

screentip

String

Not applicable

showImage

Boolean

Not applicable

showLabel

Boolean

Not applicable

supertip

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: None

contextMenu

Represents a contextMenu control.

Attribute

Type

Callback Signature

idMso

String

Not applicable

Children: button, checkbox, control, dynamicMenu, gallery, menu, menuSeparator, splitButton, toggleButton

contextMenus

Container for a set of contextMenu controls.

Attributes: None

Children: contextMenu

customUI

The root tag of all Fluent UI customizations.

Attribute

Type

Callback Signature

loadImage

Callback

VBA: Sub LoadImage(imageId As String, ByRef image)

C#: IPictureDisp LoadImage(string image_id)

Visual Basic: Function LoadImage(imageId As String) As IPictureDisp

C++: HRESULT LoadImage([in] BSTR *pbstrImageId, [out, retval] IPictureDisp ** ppdispImage) *pRibbon)

onLoad

Callback

VBA: Sub OnLoad(ribbon As IRibbonUI)

C#: void OnLoad(IRibbonUI ribbon)

Visual Basic: Sub OnLoad(ribbon As IRibbonUI)

C++: HRESULT OnLoad([in] IRibbonUI *pRibbon)

Children: commands, ribbon, backstage

Drop Down

Represents a dropDown control.

Attribute

Type

Callback Signature

alignLabel

String

Not applicable

enabled

Boolean

Not applicable

expand

Boolean

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

Callback

VBA: Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#: int GetItemCount(IRibbonControl control)

Visual Basic: Function GetItemCount(control As IRibbonControl) as Integer

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getItemID

Callback

VBA: Sub GetItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

Callback

VBA: Sub GetItemLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemIndex

Callback

VBA: Sub GetSelectedItemIndex(control As IRibbonControl, ByRef returnedVal)

C#: int GetSelectedItemIndex(IRibbonControl control)

Visual Basic: Function GetSelectedItemIndex(control As IRibbonControl) as Integer

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [out, retval] LONG *returnedVal)

getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idQ

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C#: void OnAction(IRibbonControl control, string itemID, int itemIndex)

Visual Basic: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR *selectedID, [in] LONG cSelectedIndex)

screentip

String

Not applicable

sizeString

String

Not applicable

supertip

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: item

dynamicMenu

Represents a dynamicMenu control.

Attribute

Type

Callback Signature

description

String

Not applicable

enabled

Boolean

Not applicable

getContent

Callback

VBA: Sub GetContent(control As IRibbonControl, ByRef returnedVal)

C#: string GetContent(IRibbonControl control)

Visual Basic: Function GetContent(control As IRibbonControl) As String

C++: HRESULT GetContent([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getScreentip

getShowImage

Callback

VBA: Sub GetShowImage(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowImage(IRibbonControl control)

Visual Basic: Function GetShowImage(control As IRibbonControl) As Boolean

C++: HRESULT GetShowImage([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getScreentip

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idMso

String

Not applicable

idQ

String

Not applicable

image

String

Not applicable

imageMso

String

Not applicable

insertAfterMso

String

Not applicable

insertAfterQ

String

Not applicable

insertBeforeMso

String

Not applicable

insertBeforeQ

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

screentip

String

Not applicable

showImage

Boolean

Not applicable

showLabel

Boolean

Not applicable

supertip

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: None

Edit Box

Represents the editBox control.

Attribute

Type

Callback Signature

alignLabel

String

Not applicable

enabled

Boolean

Not applicable

expand

Boolean

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idQ

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

maxLength

String

Not applicable

onChange

Callback

VBA: Sub OnChange(control As IRibbonControl, text As String)

C#: void OnChange(IRibbonControl control, string text)

Visual Basic: Sub OnChange(control As IRibbonControl, text As String)

C++: HRESULT OnChange([in] IRibbonControl *pControl, [in] BSTR pbstrText)

sizeString

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: None

FirstColumn

The left column of groups.

Attributes: None

Children: groups

Gallery

Represents a gallery control

Attribute

Type

Callback Signature

columns

Positive Integer

Not applicable

description

String

Not applicable

enabled

Boolean

Not applicable

getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getItemCount

Callback

VBA: Sub GetItemCount(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemCount(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemCount(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemHeight

Callback

VBA: Sub GetItemHeight(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemHeight(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemHeight(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemHeight([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemID

Callback

VBA: Sub GetItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemImage

Callback

VBA: Sub GetItemImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetItemImage(IRibbonControl control)

Visual Basic: Function GetItemImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetItemImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getItemLabel

Callback

VBA: Sub GetItemLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemScreentip

Callback

VBA: Sub GetItemScreentip(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemScreentip(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemScreentip(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemScreentip([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemSupertip

Callback

VBA: Sub GetItemSupertip(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemSupertip(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemSupertip(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemSupertip([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getItemWidth

Callback

VBA: Sub GetItemWidth(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetItemWidth(IRibbonControl control, int itemIndex)

Visual Basic: Function GetItemWidth(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetItemWidth([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control, int itemIndex)

Visual Basic: Function GetKeytip(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control, int itemIndex)

Visual Basic: Function GetScreentip(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemID

Callback

VBA: Sub GetSelectedItemID(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetSelectedItemID(IRibbonControl control, int itemIndex)

Visual Basic: Function GetSelectedItemID(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetSelectedItemID([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemIndex

Callback

VBA: Sub GetSelectedItemIndex(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetSelectedItemIndex(IRibbonControl control, int itemIndex)

Visual Basic: Function GetSelectedItemIndex(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getShowImage

Callback

VBA: Sub GetShowImage(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowImage(IRibbonControl control)

Visual Basic: Function GetShowImage(control As IRibbonControl) As Boolean

C++: HRESULT GetShowImage([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control, int itemIndex)

Visual Basic: Function GetSupertip(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idMso

String

Not applicable

idQ

String

Not applicable

image

String

Not applicable

imageMso

String

Not applicable

insertAfterMso

String

Not applicable

insertAfterQ

String

Not applicable

insertBeforeMso

String

Not applicable

insertBeforeQ

String

Not applicable

invalidateContentOnDrop

Boolean

Not applicable

itemHeight

Positive Integer

Not applicable

itemWidth

Positive Integer

Not applicable

keytip

String

Not applicable

label

String

Not applicable

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C#: void OnAction(IRibbonControl control, string itemID, int itemIndex)

Visual Basic: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR *selectedID, [in] LONG cSelectedIndex)

rows

Positive Integer

Not applicable

screentip

String

Not applicable

showImage

Boolean

Not applicable

showInRibbon

Boolean

Not applicable

showItemImage

Boolean

Not applicable

showItemLabel

Boolean

Not applicable

showLabel

Boolean

Not applicable

sizeString

String

Not applicable

supertip

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: item, button

Group

Represents the group container.

Attribute

Type

Callback Signature

getHelperText

Callback

VBA: Sub GetHelperText(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetHelperText(IRibbonControl control, int itemIndex)

Visual Basic: Function GetHelperText(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetHelperText([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getStyle

Enumeration

VBA: Sub GetStyle(control As IRibbonControl, ByRef returnedVal)

C#: BackstageGroupStyle GetStyle(IRibbonControl control)

Visual Basic: Function GetStyle(control As IRibbonControl) As BackstageGroupStyle

C++: HRESULT GetStyle([in] IRibbonControl *pControl, [out, retval] BackstageGroupStyle *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

helperText

String

Not applicable

id

String

Not applicable

idMso

String

Not applicable

idQ

String

Not applicable

insertAfterMso

String

Not applicable

insertAfterQ

String

Not applicable

insertBeforeMso

String

Not applicable

insertBeforeQ

String

Not applicable

label

String

Not applicable

showLabel

Boolean

Not applicable

style

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: primaryItem, topItems, bottomItems

Group Box

Represents the groupBox container.

Attributes:

Attribute

Type

Callback Signature

expand

Boolean

Not applicable

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

id

String

Not applicable

idQ

String

Not applicable

label

String

Not applicable

tag

String

Not applicable

Children: button, checkbox, editBox, dropdown, radioGroup, comboBox, hyperlink, labelControl, groupBox, layoutContainer, imageControl

Hyperlink

Represents a hyperlink control

Attributes:

Attribute

Type

Callback Signature

alignLabel

String

Not applicable

enabled

Boolean

Not applicable

expand

Boolean

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control, int itemIndex)

Visual Basic: Function GetKeytip(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control, int itemIndex)

Visual Basic: Function GetLabel(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control, int itemIndex)

Visual Basic: Function GetScreentip(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, itemIndex as Integer, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control, int itemIndex)

Visual Basic: Function GetSupertip(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [in] LONG cIndex, [out, retval] BSTR *pbstrReturnedVal)

getTarget

Callback

VBA: Sub GetTarget(control As IRibbonControl, ByRef returnedVal)

C#: string GetTarget(IRibbonControl control)

Visual Basic: Function GetTarget(control As IRibbonControl) As String

C++: HRESULT GetTarget([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idQ

String

Not applicable

image

String

Not applicable

imageMso

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C#: void OnAction(IRibbonControl control, string itemID, int itemIndex)

Visual Basic: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR *selectedID, [in] LONG cSelectedIndex)

screentip

String

Not applicable

supertip

String

Not applicable

tag

String

Not applicable

target

String

Not applicable

visible

Boolean

Not applicable

Children: None

Image Control

Represents an imageControl control.

Attribute

Type

Callback Signature

altText

String

Not applicable

enabled

Boolean

Not applicable

getAltText

Callback

VBA: Sub GetAltText(control As IRibbonControl, ByRef returnedVal)

C#: string GetAltText(IRibbonControl control)

Visual Basic: Function GetAltText(control As IRibbonControl) As String

C++: HRESULT GetAltText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idQ

String

Not applicable

image

String

Not applicable

imageMso

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: None

Item

Represents the item in a dropDown or comboBox control.

Attribute

Type

Callback Signature

*getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

id

String

Not applicable

*image

String

Not applicable

*imageMso

String

Not applicable

label

String

Not applicable

*screentip

String

Not applicable

*supertip

String

Not applicable

* Not used in all implementations

Children: None

Label Control

Represents the labelControl control.

Attribute

Type

Callback Signature

alignLabel

String

Not applicable

enabled

Boolean

Not applicable

expand

Boolean

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idQ

String

Not applicable

label

String

Not applicable

noWrap

Boolean

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: None

Layout Container

Represents the layoutContainer container.

Attribute

Type

Callback Signature

align

String

Not applicable

expand

Boolean

Not applicable

id

String

Not applicable

idQ

String

Not applicable

layoutChildren

String

Not applicable

tag

String

Not applicable

Children: button, checkbox, editBox, dropdown, radioGroup, comboBox, hyperlink, labelControl, groupBox, layoutContainer, imageControl

Menu

Represents the menu control.

Attribute

Type

Callback Signature

*description

String

Not applicable

enabled

Boolean

Not applicable

*getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*getShowImage

Callback

VBA: Sub GetShowImage(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowImage(IRibbonControl control)

Visual Basic: Function GetShowImage(control As IRibbonControl) As Boolean

C++: HRESULT GetShowImage([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

*idMso

String

Not applicable

idQ

String

Not applicable

image

String

Not applicable

imageMso

String

Not applicable

*insertAfterMso

String

Not applicable

*insertAfterQ

String

Not applicable

*insertBeforeMso

String

Not applicable

*insertBeforeQ

String

Not applicable

*itemSize

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

*screentip

String

Not applicable

*ShowImage

Boolean

Not applicable

*showLabel

Boolean

Not applicable

*supertip

String

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

* Not used in all implementations

Children: menuGroup

Menu Group

Represents the menuGroup container.

Attribute

Type

Callback Signature

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

id

String

Not applicable

idQ

String

Not applicable

itemSize

String

Not applicable

label

String

Not applicable

tag

String

Not applicable

Children: button, checkbox, menu

Primary Item

Represents a primaryItem container

Attributes: None

Children: button, menu

Radio Button

Represents the button in a radioGroup control.

Attribute

Type

Callback Signature

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

id

String

Not applicable

label

String

Not applicable

Children: None

Radio Group

Represents the container for the radioButton control.

Attribute

Type

Callback Signature

alignLabel

String

Not applicable

enabled

Boolean

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getItemCount

Callback

VBA: Sub GetItemCount(control As IRibbonControl, ByRef returnedVal)

C#: string GetItemCount(IRibbonControl control)

Visual Basic: Function GetItemCount(control As IRibbonControl) As String

C++: HRESULT GetItemCount([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getItemID

Callback

VBA: Sub GetItemID(control As IRibbonControl, ByRef returnedVal)

C#: string GetItemID(IRibbonControl control)

Visual Basic: Function GetItemID(control As IRibbonControl) As String

C++: HRESULT GetItemID([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getItemLabel

Callback

VBA: Sub GetItemLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetItemLabel(IRibbonControl control)

Visual Basic: Function GetItemLabel(control As IRibbonControl) As String

C++: HRESULT GetItemLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getSelectedItemIndex

Callback

VBA: Sub GetSelectedItemIndex(control As IRibbonControl, ByRef returnedVal)

C#: string GetSelectedItemIndex(IRibbonControl control)

Visual Basic: Function GetSelectedItemIndex(control As IRibbonControl) As String

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idQ

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C#: void OnAction(IRibbonControl control, string itemID, int itemIndex)

Visual Basic: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR *selectedID, [in] LONG cSelectedIndex)

tag

String

Not applicable

visible

Boolean

Not applicable

Children: radioButton

secondColumn

The right column of groups.

Attributes: None

Children: groups

splitButton

Represents the splitButton control.

Attribute

Type

Callback Signatures

enabled

Boolean

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idMso

String

Not applicable

idQ

String

Not applicable

insertAfterMso

String

Not applicable

insertAfterQ

String

Not applicable

insertBeforeMso

String

Not applicable

insertBeforeQ

String

Not applicable

keytip

String

Not applicable

showLabel

Boolean

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: button

Tab

Represents the primary container for related Backstage view controls.

Attribute

Type

Callback Signature

columnWidthPercent

Positive Integer

Not applicable

enabled

Boolean

Not applicable

firstColumnMaxWidth

Positive Integer

Not applicable

firstColumnMinWidth

Positive Integer

Not applicable

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getTitle

Callback

VBA: Sub GetTitle(control As IRibbonControl, ByRef returnedVal)

C#: string GetTitle(IRibbonControl control)

Visual Basic: Function GetTitle(control As IRibbonControl) As String

C++: HRESULT GetTitle([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idMso

String

Not applicable

idQ

String

Not applicable

insertAfterMso

String

Not applicable

insertAfterQ

String

Not applicable

insertBeforeMso

String

Not applicable

insertBeforeQ

String

Not applicable

keytip

String

Not applicable

label

String

Not applicable

secondColumnMaxWidth

Positive Integer

Not applicable

secondColumnMinWidth

Positive Integer

Not applicable

tag

String

Not applicable

title

String

Not applicable

visible

Boolean

Not applicable

Children: firstColumn, secondColumn

Task

Represents the task container.

Attribute

Type

Callback Signature

description

String

Not applicable

enabled

Boolean

Not applicable

getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) As Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(IRibbonControl control) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

idMso

String

Not applicable

idQ

String

Not applicable

image

String

Not applicable

imageMso

String

Not applicable

insertAfterMso

String

Not applicable

insertAfterQ

String

Not applicable

insertBeforeMso

String

Not applicable

insertBeforeQ

String

Not applicable

*isDefinitve

Boolean

Not applicable

keytip

String

Not applicable

label

String

Not applicable

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C#: void OnAction(IRibbonControl control, string itemID, int itemIndex)

Visual Basic: Sub OnAction(control As IRibbonControl, itemID As String, itemIndex As Integer)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR *selectedID, [in] LONG cSelectedIndex)

tag

String

Not applicable

visible

Boolean

Not applicable

* Not used in all implementations

Children: group

Task Form Group

Represents a taskFormGroup container.

Attribute

Type

Callback Signature

allowedTaskSizes

String

Not applicable

getHelperText

Callback

VBA: Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#: string GetHelperText(IRibbonControl control)

Visual Basic: Function GetHelperText(control As IRibbonControl) As String

C++: HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

helperText

String

Not applicable

id

String

Not applicable

idMso

String

Not applicable

idQ

String

Not applicable

label

String

Not applicable

showLabel

Boolean

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: category

Task Group

Represents a taskGroup container.

Attribute

Type

Callback Signature

allowedTaskSizes

String

Not applicable

getHelperText

Callback

VBA: Sub GetHelperText(control As IRibbonControl, ByRef returnedVal)

C#: string GetHelperText(IRibbonControl control)

Visual Basic: Function GetHelperText(control As IRibbonControl) As String

C++: HRESULT GetHelperText([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel(IRibbonControl control)

Visual Basic: Function GetShowLabel(control As IRibbonControl) As Boolean

C++: HRESULT GetShowLabel([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

helperText

String

Not applicable

id

String

Not applicable

idMso

String

Not applicable

idQ

String

Not applicable

insertAfterMso

String

Not applicable

insertAfterQ

String

Not applicable

insertBeforeMso

String

Not applicable

insertBeforeQ

String

Not applicable

label

String

Not applicable

showLabel

Boolean

Not applicable

tag

String

Not applicable

visible

Boolean

Not applicable

Children: category

toggleButton

Represents a toggleButton control.

Attribute

Type

Callback Signature

description

String

Not applicable

enabled

Boolean

Not applicable

getDescription

Callback

VBA: Sub GetDescription(control As IRibbonControl, ByRef returnedVal)

C#: string GetDescription(IRibbonControl control)

Visual Basic: Function GetDescription(control As IRibbonControl) As String

C++: HRESULT GetDescription([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getEnabled

Callback

VBA: Sub GetEnabled(control As IRibbonControl, ByRef returnedVal)

C#: bool GetEnabled(IRibbonControl control)

Visual Basic: Function GetEnabled(control As IRibbonControl) as Boolean

C++: HRESULT GetEnabled([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

getImage

Callback

VBA: Sub GetImage(control As IRibbonControl, ByRef returnedBitmap)

C#: Bitmap GetImage(IRibbonControl control)

Visual Basic: Function GetImage(control As IRibbonControl) As Bitmap

C++: HRESULT GetImage([in] IRibbonControl *pControl, [out, retval] IPictureDisp ** ppdispImage)

getKeytip

Callback

VBA: Sub GetKeytip(control As IRibbonControl, ByRef returnedVal)

C#: string GetKeytip(IRibbonControl control)

Visual Basic: Function GetKeytip(control As IRibbonControl) As String

C++: HRESULT GetKeytip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getLabel

Callback

VBA: Sub GetLabel(control As IRibbonControl, ByRef returnedVal)

C#: string GetLabel(IRibbonControl control)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

getPressed

Callback

VBA: Sub GetPressed(control As IRibbonControl, ByRef returnedVal)

C#: bool GetPressed(IRibbonControl control)

Visual Basic: Function GetPressed(control As IRibbonControl) as Boolean

C++: HRESULT GetPressed([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*getScreentip

Callback

VBA: Sub GetScreentip(control As IRibbonControl, ByRef returnedVal)

C#: string GetScreentip(IRibbonControl control)

Visual Basic: Function GetScreentip(control As IRibbonControl) As String

C++: HRESULT GetScreentip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*getShowImage

Callback

VBA: Sub GetShowImage(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowImage(IRibbonControl control)

Visual Basic: Function GetShowImage(control As IRibbonControl) as Boolean

C++: HRESULT GetShowImage([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*getShowLabel

Callback

VBA: Sub GetShowLabel(control As IRibbonControl, ByRef returnedVal)

C#: bool GetShowLabel (IRibbonControl control)

Visual Basic: Function GetShowLabel (control As IRibbonControl) as Boolean

C++: HRESULT GetShowLabel ([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

*getSupertip

Callback

VBA: Sub GetSupertip(control As IRibbonControl, ByRef returnedVal)

C#: string GetSupertip(IRibbonControl control)

Visual Basic: Function GetSupertip(control As IRibbonControl) As String

C++: HRESULT GetSupertip([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrReturnedVal)

*getVisible

Callback

VBA: Sub GetVisible(control As IRibbonControl, ByRef returnedVal)

C#: bool GetVisible(IRibbonControl control)

Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean

C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] BSTR VARIANT_BOOL *pvarReturnedVal)

id

String

Not applicable

*idMso

String

Not applicable

idQ

String

Not applicable

image

String

Not applicable

imageMso

String

Not applicable

*insertAfterMso

String

Not applicable

*insertAfterQ

String

Not applicable

*insertBeforeMso

String

Not applicable

*insertBeforeQ

String

Not applicable

*keytip

String

Not applicable

label

String

Not applicable

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl)

C#: void OnAction(IRibbonControl control)

Visual Basic: Sub OnAction(control As IRibbonControl)

C++: HRESULT OnAction([in] IRibbonControl *pControl)

*screentip

String

Not applicable

*showImage

Boolean

Not applicable

*showLabel

Boolean

Not applicable

*supertip

String

Not applicable

tag

String

Not applicable

*visible

Boolean

Not applicable

* Not used in all implementations

Children: None

topItems

A delimiter for an upper set of groups.

Attributes: None

Children: groups

Conclusion

Backstage view extensibility provides a powerful opportunity for you to provide users with a customized, targeted set of menus and options. Best of all, you can use the experience and structures you used when customizing the Ribbon UI. I encourage you to explore the various components that comprise the Microsoft Office Fluent UI to create customized applications for your organization.

Additional Resources

For more information, see the following resources.

Acknowledgment: Thank you to my editor, Linda Cannon, for her help in preparing this article for publication.