Introducción a la vista Backstage de Office 2010 para programadores

Resumen: Microsoft Office 2010 presenta la vista Backstage de Microsoft Office, la novedad más reciente de la interfaz de usuario de Office Fluent y una característica complementaria de la cinta de opciones. Examine los componentes que conforman la vista Backstage y explore los escenarios que muestran cómo ampliar esta vista en diferentes aplicaciones de Office.

Última modificación: viernes, 24 de abril de 2015

Hace referencia a: Excel 2010 | Office 2007 | Office 2010 | Open XML | PowerPoint 2010 | SharePoint Server 2010 | VBA | Word 2010

Icono de MicrosoftFrank Rice, Microsoft Corporation

Abril de 2010

Se aplica a: Microsoft Access 2010, Microsoft Excel 2010, Microsoft InfoPath 2010, Microsoft OneNote 2010, Microsoft PowerPoint 2010, Microsoft Project 2010, Microsoft Publisher 2010, Microsoft SharePoint Designer 2010, Microsoft Visio 2010, Microsoft Word 2010

Contenido

  • Introducción a la vista Backstage de Microsoft Office 14 Fluent

  • Glosario de términos de la vista Backstage

  • Componentes de la vista Backstage

  • Extensibilidad de la vista Backstage

  • Personalización de la vista Backstage mediante archivos con formato Open XML

  • Personalización de la vista Backstage mediante un complemento COM compartido

  • Preguntas más frecuentes

  • Descripciones, atributos e información secundaria de los controles de la vista Backstage

  • Conclusión

  • Recursos adicionales

Introducción a la vista Backstage de Microsoft Office 14 Fluent

En la versión 2007 de Microsoft Office system, el acceso a la funcionalidad de nivel de archivo se obtenía a través del menú de Office que estaba disponible al hacer clic en el botón de Office.

En Microsoft Office 2010, el botón de Office se sustituyó por una pestaña Archivo. Al hacer clic enella, se llega a la vista Backstage de Microsoft Office. Esta vista le ayuda a descubrir y usar las características que no forman parte de las características de creación de la cinta de opciones. La cinta de opciones, la minibarra de herramientas y las galerías le ayudan a trabajar en los documentos, mientras que la vista Backstage le ayuda a trabajar con los documentos.

La vista Backstage es un elemento totalmente extensible para los programadores, de modo que las organizaciones pueden personalizar la interfaz de usuario para que se ajuste a sus propias necesidades. Lo mejor de todo es que la interfaz de usuario de Backstage se puede personalizar con los mismos archivos, devoluciones de llamadas y muchos de los controles que se usan en la cinta de opciones. Esto significa que los programadores que ya saben cómo personalizar la interfaz de usuario de la cinta de opciones pueden usar estos mismos conocimientos para crear una interfaz de usuario de Backstage acorde con las necesidades de la organización.

La interfaz de usuario de Backstage existe en todas las aplicaciones de Microsoft Office 2010 compatibles con la interfaz de usuario de Office Fluent: Microsoft Access 2010, Microsoft Excel 2010, Microsoft InfoPath 2010, Microsoft OneNote 2010, Microsoft PowerPoint 2010, Microsoft Project 2010, Microsoft Publisher 2010, Microsoft SharePoint Designer 2010, Microsoft Visio 2010 y Microsoft Word 2010. En las siguientes secciones se describe la estructura de la nueva interfaz de usuario y se examinan los detalles necesarios para implementar su propia interfaz de usuario de Backstage personalizada.

Glosario de términos de la vista Backstage

A continuación figuran los términos comunes que se usan en este artículo:

  • Vista Backstage Modelo de interfaz de usuario de pantalla completa que expone la funcionalidad en el nivel del archivo del documento activo. Forma parte de la interfaz de usuario de Microsoft Office Fluent, que reemplaza al sistema anterior de menús en capas, barras de herramientas y paneles de tareas.

  • Comando definitivo Comando que le lleva de la vista Backstage al documento. Cuando se invocan, los comandos definitivos cierran la vista Backstage. Algunos ejemplos de estos comandos son Guardar, Guardar como e Imprimir.

  • Comando rápido Comando que existe en la barra de navegación izquierda y proporciona acceso rápido a las funciones más habituales. Algunos ejemplos de estos comandos son Guardar, Guardar como y Cerrar.

  • Ficha Página de la vista Backstage dedicada a una tarea en particular. La vista Backstage consta de un conjunto de fichas de nivel superior. La primera ficha (superior) es la predeterminada. Si no se especifica ninguna ubicación, las fichas personalizadas se agregan a la parte inferior de la barra de navegación, debajo de todas las fichas y comandos rápidos existentes. La vista Backstage permite un máximo de 255 fichas.

  • Grupo Contenedor de la interfaz de usuario que se usa para organizar las funciones relacionadas dentro de las fichas de Backstage por grupos.

Componentes de la vista Backstage

En esta sección, examinará los componentes de la vista Backstage. Si se observa la figura 1, una de las primeras cosas que notará después de iniciar una aplicación de Office 2010 es la nueva pestaña Archivo, que reemplaza al botón de Office. Al hacer clic en la pestaña Archivo se muestra la vista Backstage. También puede abrir esta vista presionando las teclas Alt+A.

Figura 1. La nueva pestaña Archivo

Botón Microsoft Office

En el lado izquierdo de la vista Backstage se encuentra la barra de navegación, que incluye comandos rápidos (como Guardar y Abrir) y pestañas (como Información y Reciente), tal y como se muestra en la figura 2.

Figura 2. La vista Backstage

Pestañas de navegación

Los comandos rápidos proporcionan acceso a tareas de uso frecuente que no están asociadas explícitamente con las pestañas.

Una ficha agrupa las funciones relacionadas con una tarea común y las distribuye en una o dos columnas en un conjunto de grupos (como Modo de compatibilidad y Permisos).

Extensibilidad de la vista Backstage

Además de brindar al usuario una mejor experiencia con las propiedades de documentos, la creación y las funciones de resultados, la vista Backstage es un lugar al que los departamentos de TI y los programadores de terceros pueden conectarse para proporcionar funciones de administración de documentos personalizadas. Existen algunos escenarios típicos de extensibilidad de la vista Backstage:

  • Un proveedor de soluciones desea agregar datos de línea de negocio a la vista Backstage:

    • Es posible que el proveedor de soluciones desee crear una ficha completamente nueva para mostrar una gran cantidad de información relacionada con el archivo activo.

    • Es posible que el proveedor de soluciones desee agregar un grupo a una ficha existente (especialmente la ficha Información) para que la información sea todo lo visible que se pueda.

  • Es posible que el proveedor de soluciones desee mostrar nuevas funciones en la vista Backstage:

    • Es posible que el proveedor de soluciones desee crear una nueva ficha centrada en estas funciones personalizadas (por ejemplo, administración de correo electrónico no deseado).

    • Es posible que el proveedor de soluciones desee agregar funciones personalizadas a una ficha existente porque esa ficha es un lugar lógico para la nueva característica, o puede querer usarla como comando rápido porque la función en cuestión se usará con frecuencia y se puede representar con un solo botón.

Los programadores familiarizados con la extensibilidad de la interfaz de usuario de la cinta de opciones deben sentirse cómodos con la extensibilidad de la vista Backstage, ya que usa básicamente los mismos archivos y estructuras. Los componentes se agregan a la vista Backstage mediante XML y las funciones se asocian a tales componentes mediante procedimientos de devolución de llamada.

Nota

Para obtener más información acerca de la extensibilidad de la cinta de opciones, vea la serie de artículos en tres partes titulada Customizing the 2007 Office Fluent Ribbon for Developers.

Definición del contenido y la estructura de la vista Backstage personalizada mediante XML

Al igual que con la interfaz de usuario de la cinta de opciones, la estructura y los componentes de la vista Backstage se definen usando el formato XML. En el siguiente ejemplo se muestra el formato general de un archivo de formato XML que personaliza la vista en Word 2010. En las siguientes secciones se describe este formato más detalladamente. Este formato da como resultado la vista Backstage personalizada que se muestra en la figura 3.

Figura 3. La ficha de Backstage personalizada creada en este ejemplo

Área de fichas personalizadas

Nota

El XML para modificar la interfaz de usuario de la cinta de opciones también se incluye para mostrar que coexiste en el mismo archivo XML que el formato de la vista Backstage.

<?xml version="1.0" encoding="utf-8" ?>
<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"  text="This is sample text" 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" text="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>

El elemento <backstage> delimita las estructuras personalizadas de la interfaz de usuario de Backstage. Jerárquicamente, el elemento <backstage> es uno de los cuatro elementos de nivel superior permitidos dentro del elemento <customUI>. Los otros elementos permitidos en el mismo nivel son <ribbon>, <contextMenus> y <commands>.

Dentro del elemento <backstage>, se pueden hospedar comandos rápidos (representados con el elemento <button>) y <tabs>; en este ejemplo, Backstage contiene un solo elemento <tab>. El elemento <tab> incluye varios atributos, entre los que se encuentran los siguientes:

  • id Identificador de la ficha.

  • insertAfterMso Identificador de la ficha integrada tras la que se debe insertar la ficha personalizada. En este ejemplo, la ficha personalizada se agrega después de la ficha Info.

  • label Texto que aparece en la ficha; en este ejemplo, la etiqueta de la ficha es Sample Scenarios.

  • columnWidthPercent Especifica el ancho de la primera columna en el área con fichas como un porcentaje. El ancho de las dos columnas hacen un total de 100%, de modo que si la primera columna se establece en 30%, la secunda columna constituye el 70% del ancho total.

Esta ficha tiene una etiqueta y va después de la ficha Info integrada.

Nota

Todos los atributos en el formato de personalización XML de la interfaz de usuario de Microsoft Office Fluent usan la misma convención Camel, que pone en mayúsculas el carácter inicial de todas las palabras excepto el de la primera; entre los ejemplos se incluyen onAction y insertBeforeMso.

Cada elemento <tab> puede tener una o dos columnas; en este caso, la ficha personalizada Sample Scenarios contiene dos columnas. Además, cada columna puede hospedar varios elementos <group>; en este ejemplo, existen dos grupos en la primera columna (denominados Group One y Group Two) y un solo grupo (Group Three) en la segunda columna. El elemento <group> también permite varios atributos, como id, label, visible, enabled y helperText, entre otros.

Nota

Más adelante en este artículo encontrará una lista de elementos de control y atributos asociados, elementos secundarios y otra información.

Como concepto, los grupos de Backstage personalizados son similares a los grupos de la cinta de opciones, con dos diferencias notorias. Primero, y al contrario que un grupo de la cinta de opciones, no se necesita un grupo de Backstage para colocar el contenido exactamente en (hasta) tres filas; en este ejemplo, existen varios elementos <layoutContainer> que proporcionan la estructura y funciones de diseño enriquecidas, pero sin la restricción de tres filas. Este elemento contiene un atributo layoutChildren que permite especificar si los objetos secundarios se orientan horizontal o verticalmente. En segundo lugar, y al contrario que un grupo de la cinta de opciones de nuevo, un grupo de Backstage puede incluir un elemento <primaryItem> opcional, que puede ser <button> o <menu>. El <primaryItem> constituye el punto central de enfoque de un grupo, que puede ser un botón (como el botón principal dentro de Group One) o un menú (como el menú desplegable dentro de Group Two).

Si se observa el elemento <button> del ejemplo, uno de los atributos que contiene es isDefinitive. Cuando este atributo se establece como verdadero, al hacer clic en el botón se activa la devolución de llamada correspondiente y, a continuación, se cierra la vista Backstage y se vuelve al documento. Viendo el resto del XML, hay varios componentes definidos con diferentes atributos. La ficha personalizada que aparece como resultado es similar a la de la figura 3.

Uso de devoluciones de llamada para agregar funciones

Observando nuevamente el ejemplo, al hacer clic en el botón, se activa la subrutina de devolución de llamada indicada en el atributo onAction. En el siguiente ejemplo se muestra una devolución de llamada simple que se puede activar con el botón.

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

En esta instancia, cuando se llama al procedimiento, Microsoft Office pasa un objeto IRibbonControl que representa el control que llama. Entre las propiedades del objeto IRibbonControl se incluyen Id y Tag. Como se muestra en el código, la propiedad Id permite llamar al mismo procedimiento desde diferentes controles. Todos los procedimientos de devolución de llamada toman el objeto IRibbonControl y también pueden incluir otras propiedades, como el estado presionado de un botón de alternancia.

En las siguientes secciones se enumeran los pasos para personalizar la vista Backstage en el nivel de documento (modificando un archivo con formato Open XML) y en el nivel de aplicación (usando un complemento COM creado en código administrado en Microsoft Visual Studio). Para obtener el procedimiento para personalizar la vista Backstage en el nivel de documento, puede usar el XML descrito en la sección anterior. El complemento COM usa un XML diferente para modificar la vista Backstage.

Personalización de la vista Backstage mediante archivos con formato Open XML

En el nivel de documento, el proceso de personalización de la interfaz de usuario de Microsoft Office Fluent usando el formato XML implica los pasos descritos a continuación. Puede seguir estos pasos usando el formato XML descrito en la sección anterior.

Nota

A pesar de que debe conocer lo que está sucediendo dentro de la estructura de archivos Office Open XML, puede omitir estos pasos. Puede sacar partido de la herramienta Office 2007 Custom UI Editor, con la que puede abrir un documento, insertarle una interfaz de usuario personalizada (con una parte con Office 2007 u Office 2010 como destino) y, a continuación, guardar el documento junto con el formato XML. Esta herramienta realiza los pasos que se muestran en este ejemplo automáticamente y, además, le permite agregar iconos personalizados a la carpeta customUI y hacer referencia a éstos fácilmente.

Para definir el contenido y la estructura de la vista Backstage mediante archivos con formato Open XML

  1. Cree una carpeta en el escritorio denominada customUI.

  2. Cree el archivo de personalización en cualquier editor de texto; para ello, escriba el formato XML con el que se agreguen nuevos componentes a la interfaz de usuario de Microsoft Office Fluent, se modifiquen los componentes existentes o se oculten. Use el formato XML del ejemplo que se mostró anteriormente en este artículo. Guarde el archivo como customUI14.xml en la carpeta que ha creado.

  3. Valide el formato XML usando el esquema de interfaz de usuario de Microsoft Office Fluent personalizado (opcional).

  4. Cree un documento en Microsoft Word 2010 y, a continuación, guárdelo como archivo habilitado para macros de Open XML con la extensión .docm. Si desea agregar código que reaccione cuando el usuario interactúe con la personalización de la interfaz de usuario de Microsoft Office Fluent, deberá guardar el documento en un formato habilitado para macros.

  5. Cierre Word.

  6. En el Explorador de Microsoft Windows, agregue la extensión de nombre de archivo .zip al nombre de archivo del documento y, a continuación, haga doble clic en el archivo para abrirlo como una carpeta comprimida.

  7. Agregue el archivo de personalización al contenedor arrastrando la carpeta customUI del escritorio a la carpeta .zip.

  8. Arrastre la carpeta _rels de la carpeta .zip al escritorio. En el escritorio aparecerá una carpeta denominada _rels, que contiene el archivo .rels.

  9. Abra la carpeta nueva y, a continuación, abra el archivo .rels en un editor de texto.

  10. Entre el elemento <Relationship> final y el elemento <Relationships> de cierre, agregue el código que crea una relación entre el archivo de documento y el archivo de personalización, tal y como se muestra en el siguiente ejemplo. Asegúrese de especificar los nombres de carpeta y de archivo correctamente (el atributo Id proporciona un identificador de relación único para el archivo customUI; su valor es arbitrario, siempre que sea único).

    <Relationship Type="https://schemas.microsoft.com/office/2010/relationships/ui/extensibility" Target="/customUI/customUI14.xml" 
      Id="customUIRelID" />
    
  11. Guarde el archivo .rels y, a continuación, arrástrelo a la carpeta _rels del archivo comprimido para reemplazar el archivo .rels existente.

  12. Quite la extensión .zip y, a continuación, abra el documento.

Para agregar devoluciones de llamada al libro para proporcionar funciones de vista Backstage

  1. Haga clic en la ficha Programador y, a continuación, en Visual Basic.

    Nota

    Si no puede ver la ficha Programador, debe especificar esta opción. Para hacerlo en la aplicación, haga clic en el botón de Microsoft Office, en Opciones, en Personalizar cinta de opciones y, a continuación, en el cuadro Personalizar la cinta de opciones, seleccione la opción Programador. Éste es un ajuste global que le identifica como programador en todas las aplicaciones de Office que implementan la interfaz de usuario de Microsoft Office Fluent.

  2. En el Editor de Visual Basic, haga doble clic en ThisDocument para abrir la ventana de código.

  3. Escriba la función de VBA como se muestra en el siguiente ejemplo.

    Sub SampleCallback(ByVal control As IRibbonControl)
       MsgBox "You clicked the " & control.Id & " button. "
    End Sub
    
  4. Guarde el documento y, a continuación, cierre el Editor de Visual Basic.

  5. Haga clic en el botón de Microsoft Office y, a continuación, en la pestaña Escenarios de ejemplo.

  6. Haga clic en el botón marcado como Primary Button. La figura 4 muestra el cuadro de diálogo.

    Figura 4. Este cuadro de diálogo se abre tras hacer clic en el botón Primary

    Cuadro de diálogo después de hacer clic en el botón Principal

Personalización de la vista Backstage mediante un complemento COM compartido

También puede usar complementos COM para cambiar la interfaz de usuario de Microsoft Office Fluent. Si decide crear un complemento COM que incorpore la personalización de la interfaz de usuario y use código administrado, dispone de dos opciones. Puede crear un complemento COM estándar mediante la plantilla Complemento compartido que se incluye con Microsoft Visual Studio 2008, o bien, si tiene Microsoft Visual Studio 2005 Tools para Office Second Edition instalado, puede crear un complemento COM que presente varias ventajas con respecto al complemento compartido estándar.

Entre otras ventajas, los complementos creados con Microsoft Visual Studio 2005 Tools para Office Second Edition se ejecutan en dominios de aplicación independientes y el modelo de programación de estos complementos es más simple y más fácil de mantener que el que usa la plantilla de complementos compartidos. Para obtener más información, vea el tema sobre cómo migrar un complemento compartido a un complemento de Visual Studio 2005 Tools para Office System SE.

Sin embargo, en los siguientes pasos creará un complemento COM de Microsoft Word administrado usando un complemento compartido estándar. Para obtener más información acerca de cómo crear una interfaz de usuario de Microsoft Office Fluent personalizada mediante un complemento COM compartido y Microsoft Visual Studio 2005 Tools para Office Second Edition, vea el artículo sobre cómo personalizar la cinta de Office Fluent 2007 para programadores (parte 1 de 3).

El complemento COM crea la ficha Backstage personalizada, como se muestra en la figura 5.

Figura 5. La ficha Vista Backstage personalizada muestra varias técnicas con controles

Vista Backstage con controles de ejemplo

Para cambiar la interfaz de usuario de Microsoft Office Fluent creando un complemento COM compartido

  1. Inicie Microsoft Visual Studio 2008.

  2. En el menú Archivo, seleccione Nuevo y, a continuación, haga clic en Proyecto.

  3. En el cuadro de diálogo Nuevo proyecto, en el panel Tipos de proyecto, expanda Otros tipos de proyecto, haga clic en Extensibilidad y, a continuación, seleccione Complemento compartido.

  4. En el cuadro Nombre, escriba BackStageCOMAddin y, a continuación, haga clic en Aceptar para crear el proyecto.

  5. En la primera página del Asistente para complementos compartidos, haga clic en Siguiente.

  6. En la página Seleccione un lenguaje de programación, seleccione Visual C# o Visual Basic y, a continuación, haga clic en Siguiente.

  7. En la página Seleccione una aplicación host, desactive todas las selecciones excepto Microsoft Word y, a continuación, haga clic en Siguiente.

  8. En la página Especifique un nombre y una descripción, escriba BackStageCOMAddin como nombre y Actualizar la vista Backstage de Word como descripción y, a continuación, haga clic en Siguiente.

  9. En la página Elija las opciones del complemento, seleccione Me gustaría que mi complemento se cargue cuando lo haga la aplicación host, haga clic en Siguiente y, a continuación, en Finalizar.

Visual Studio creará una solución con dos proyectos: el complemento en sí y un proyecto de instalación (el proyecto de instalación le permite instalar el complemento en los equipos de otros usuarios y, además, facilita la instalación y desinstalación del complemento en tiempo de diseño).

Para interactuar con Word 2010 y el modelo de objetos de Microsoft Office Fluent, debe tener referencias a bibliotecas de tipos como se indica a continuación.

Para agregar referencias a bibliotecas de tipos

  1. En el Explorador de soluciones, expanda la carpeta Referencias. Si no puede ver la carpeta Referencias, en el menú Proyecto, haga clic en Mostrar todos los archivos.

  2. Elimine la referencia Microsoft.Office.Core.

  3. Haga clic con el botón secundario en la carpeta Referencias y, a continuación, haga clic en Agregar referencia.

  4. Haga clic en la pestaña COM, seleccione Biblioteca de objetos de Microsoft Office 14.0 y, a continuación, haga clic en Aceptar.

  5. En la parte superior de la pantalla de código, agregue las instrucciones como se muestra en los siguientes ejemplos.

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

Para crear el archivo XML de personalización

  1. En el menú Proyecto, haga clic en Agregar nuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, seleccione Archivo XML. Asigne el nombre customUI14.xml al nuevo archivo y, a continuación, haga clic en Agregar.

  3. En el nuevo archivo XML, agregue formato XML como se muestra en el siguiente ejemplo.

    <customUI xmlns="https://schemas.microsoft.com/office/2009/07/customui" onLoad="OnLoad">
      <backstage>
        <tab id="testArea" label="Sample Scenarios" columnWidthPercent="30" insertAfterMso="TabInfo" visible="true" >
          <firstColumn>
            <group id="grpOne" label="Group One">
              <primaryItem>
                <button id="btnSimToggleButton" label="Simulate Toggle Button" getImage="toggleImage" onAction="simToggleButton"/>
              </primaryItem>
              <topItems>
                 <layoutContainer id="layoutOne" layoutChildren="vertical">
                    <editBox id="eboxTextTarget" label="Text From Button"  getText="getToggledText" alignLabel="topRight" />
                    <button id="btnInsertText2Doc" label="Insert Text Into Document" isDefinitive="true" onAction="insertText2Doc"/>
                    <editBox id="eboxTextSource" label="Gets Inserted into Document" text="Hello World" onChange="getInsertText"/>
                 </layoutContainer>
              </topItems>
            </group>
            <group id="grpTwo" label="Group Two" getVisible="getInitGroupVisibility" >
              <primaryItem>
                <menu id="menuOne" label="Drop Down Menu">
                  <menuGroup id="menuGrpOne" >
                    <button id="btnShowEditBox"  getLabel="getHideShowEBoxLabel" onAction="showHideEditBox"/>
                    <button id="menuButtonTwo" label="Swap Images" onAction="SwapImages"/>
                    <checkBox id="chkEnableDisableEBox" getLabel="switchChkBoxLabel" onAction="chkEnable"/>
                  </menuGroup>
                </menu>
              </primaryItem>
              <topItems>
                 <editBox id="eboxEnabledDisabled" text="Hello World"  getEnabled="getEBoxEnabledState"/>
                 <editBox id="eboxShownHidden" text="See me now?" getVisible="getEBoxVisibility"/>
                 <imageControl id="imgControlOne" getImage="getControlImage"/>
                 <groupBox id="grpBox" label="Group Box">
                    <checkBox id="chkBox1" getLabel="getChkBox1Label" onAction="grpChkBox1Action"/>
                    <checkBox id="chkBox2" getLabel="getChkBox2Label" onAction="grpChkBox2Action"/>
                    <radioGroup id="rdoGrp" label="Nested Radio Group"  getEnabled="getrdoEnableByChkBox" onAction="radioGrpAction">
                      <radioButton id="firstRadioBtn" label="1st Radio Button"/>
                      <radioButton id="secondRadioBtn" label="2nd Radio Button"/>
                    </radioGroup>
                 </groupBox>
                 <editBox id="eboxVisiblebyChkBox" text="See me" getVisible="getEBoxVisibleByChkBox"/>
              </topItems>
            </group>
          </firstColumn>
          <secondColumn>
            <group id="grpThree" label="Group Three" visible="true">
              <topItems>
                 <layoutContainer id="layoutTwo" layoutChildren="vertical">
                    <comboBox id="cboPopulateBox" label="Populate Edit Box" onChange="populateEBox">
                      <item id="item1" label="one"/>
                      <item id="item2" label="two"/>
                      <item id="item3" label="three"/>
                    </comboBox>
                    <editBox id="eboxPopulate" getLabel="getEBoxLabel" getText="getCBOXText"/>
                 </layoutContainer>
                 <layoutContainer id="layoutThree" layoutChildren="vertical">
                    <button id="btnHideGroup" getLabel="getHideGroupBtnLabel" onAction="hideGroup"/>
                 </layoutContainer>
              </topItems>
            </group>
          </secondColumn>
        </tab>
      </backstage>
    </customUI>
    
  4. Guarde y cierre el archivo.

La forma más sencilla de usar el archivo XML es considerarlo como un recurso dentro del archivo de recursos del proyecto.

Para agregar el archivo XML como recurso del proyecto

  1. En Explorador de soluciones, seleccione customUI14.xml.

  2. En la ventana Propiedades, seleccione la propiedad Acción de compilación y, a continuación, seleccione Recurso incrustado en la lista de opciones.

  3. En el menú Proyecto, haga clic en Propiedades de BackStageCOMAddin.

  4. Haga clic en la pestaña Recursos.

  5. En el Explorador de soluciones, arrastre customUI14.xml a la superficie de diseño Recursos.

    Mediante esta acción se crea un nuevo recurso basado en el archivo con el contenido XML. A partir de ahora, el archivo customUI.xml se almacena automáticamente como un recurso de la aplicación y este contenido se puede recuperar mediante características de lenguaje de Visual Basic o Visual C#.

  6. Cierre la ventana Recursos. Cuando se le solicite, haga clic en para guardar el cuadro diálogo de recursos.

Para obtener acceso al host de aplicación y trabajar con la vista Backstage

  1. En el Explorador de soluciones, haga clic con el botón secundario en Connect.cs o en Connect.vb y, a continuación, haga clic en Ver código.

  2. Busque la declaración existente para la variable applicationObject y cámbiela para que haga referencia a un objeto Word.Application; es decir, cambie la declaración para que tenga el aspecto de los siguientes ejemplos.

    Private applicationObject As Word.Application
    
    private Word.Application applicationObject;
    
  3. Cambie la línea existente en el método OnConnection, que crea una instancia del objeto Word.Application.

    applicationObject = DirectCast(application, Word.Application)
    
    applicationObject =(Word.Application)application;
    
  4. (Sólo en Visual Basic) Cambie la línea de código cercana a la parte superior de la clase que comienza por Implements, para agregar compatibilidad para implementar el nombre de espacios IRibbonExtensibility como se muestra en el siguiente ejemplo y, a continuación, presione Entrar. Visual Basic inserta el procedimiento GetCustomUI automáticamente.

    Implements Extensibility.IDTExtensibility2, IRibbonExtensibility
    
  5. (Sólo C#) Al final de la instrucción public class Connect :, agregue una coma y, a continuación, escriba el nombre de interfaz, como se muestra en el siguiente ejemplo.

    IRibbonExtensibility
    
  6. (Sólo C#) Haga clic con el botón secundario en la interfaz que ha agregado, haga clic en Implementar interfaz y, a continuación, en Implementar interfaz explícitamente. De este modo, se agrega un procedimiento de código auxiliar para el único miembro de la interfaz IRibbonExtensibility: GetCustomUI.

  7. Cambie el método GetCustomUI de modo que tenga el aspecto del siguiente ejemplo.

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

    Importante

    GetCustomUI se implementa para que devuelva la cadena XML para la personalización de la interfaz de usuario y no debe usarse para la inicialización. En particular, no debe intentar mostrar cuadros de diálogo o ventanas de mensaje en la implementación de GetCustomUI. El lugar más adecuado para realizar la inicialización es en el método OnConnection (para complementos compartidos) o en el método ThisAddIn_Startup (para complementos creados mediante Microsoft Visual Studio 2005 Tools para Office Second Edition).

  8. Agregue el siguiente método a la clase. Se llama a este método cuando se carga la interfaz de usuario de la cinta de opciones y crea una variable que hace referencia a esta interfaz y, a continuación, vuelve a dibujar la cinta de opciones.

    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();
    }
    

Preguntas más frecuentes

A continuación se recogen las preguntas más frecuentes relacionadas con la vista Backstage.

  • ¿Cuál es el número máximo de fichas personalizadas que puedo agregar a la vista Backstage?
    El límite máximo de número de fichas es de 255.

  • ¿Puedo especificar dónde deseo agregar una ficha?
    Puede especificar si una ficha personalizada se muestra antes o después de una ficha existente.

  • ¿Puedo cambiar el orden de las fichas existentes?
    No puede cambiar el orden de las fichas existentes. Sólo puede especificar el orden relativo de las fichas insertando una ficha antes o después de otra.

  • ¿Puedo modificar el diseño de columna de las fichas existentes?
    No puede cambiar los diseños de columna de ninguna ficha existente que no haya sido creada por usted.

  • ¿Dónde puedo agregar grupos?
    Puede agregar un nuevo grupo a cualquier columna de una ficha existente. También puede especificar si el grupo nuevo se muestra antes o después de un grupo existente. Una restricción a este respecto es que no puede agregar más grupos a las fichas que contienen un control taskFormGroup, como la ficha Compartir.

  • ¿Puedo cambiar el orden de los grupos existentes?
    No puede cambiar el orden de los grupos existentes. Únicamente puede especificar órdenes relativos para los grupos nuevos que cree.

  • Cuando agrego varios complementos COM que modifican la vista Backstage de una aplicación de Microsoft Office, ¿cómo sé el orden en el que se implementan?
    El orden de prioridad entre las modificaciones en conflicto es que tiene precedencia la última que se cargó.

Descripciones, atributos e información secundaria de los controles de la vista Backstage

La siguiente referencia XML contiene detalles acerca de los controles que se incluyen como parte de la vista Backstage.

Backstage

Representa el elemento <backstage>

Atributo

Tipo

Firma de devolución de llamada

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)

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)

Elementos secundarios: tab, button

Botón

Representa un control button.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

*expand

String

No es aplicable

*layout

String

No es aplicable

tag

String

No es aplicable

*insertAfterMso

Nombre integrado (String)

No es aplicable

*insertBeforeMso

Nombre integrado (String)

No es aplicable

*insertAfterQ

Nombre completo (String)

No es aplicable

*insertBeforeQ

Nombre completo (String)

No es aplicable

*description

String

No es aplicable

*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)

enabled

Boolean

No es aplicable

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)

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

keytip

Token

No es aplicable

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)

*screentip

String

No es aplicable

*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)

*supertip

String

No es aplicable

*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)

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)

isDefinitive

Boolean

No es aplicable

image

String

No es aplicable

imageMso

Nombre integrado (String)

No es aplicable

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)

* No se usa en todas las implementaciones

Elementos secundarios: ninguno

Categoría

Representa un contenedor de categorías.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

Elementos secundarios: task

Casilla de verificación

Representa un control checkBox.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

*expand

String

No es aplicable

*layout

String

No es aplicable

enabled

Boolean

No es aplicable

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)

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

keytip

Token

No es aplicable

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)

onAction

Callback

VBA: Sub OnAction(control As IRibbonControl, isPressed As Boolean)

C#: void OnAction(IRibbonControl control, bool isPressed)

Visual Basic: Sub OnAction(control As IRibbonControl, isPressed As Boolean)

C++: HRESULT OnAction([in] IRibbonControl *pControl, [in] BSTR VARIANT_BOOL *pvarPressed)

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)

description

String

No es aplicable

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)

*screentip

String

No es aplicable

*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)

*supertip

String

No es aplicable

*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)

* No se usa en todas las implementaciones

Elementos secundarios: ninguno

Cuadro combinado

Representa un control comboBox.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

alignLabel

String

No es aplicable

expand

String

No es aplicable

layout

String

No es aplicable

enabled

Boolean

No es aplicable

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)

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

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)

keytip

Token

No es aplicable

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)

sizeString

String

No es aplicable

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)

Elementos secundarios: item

customUI

La etiqueta raíz de todas las personalizaciones de la interfaz de usuario de Fluent.

Atributo

Tipo

Firma de devolución de llamada

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)

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)

Elementos secundarios: commands, ribbon, backstage

Desplegable

Representa un control dropDown.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

expand

String

No es aplicable

layout

String

No es aplicable

enabled

Boolean

No es aplicable

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)

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)

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

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)

keytip

Token

No es aplicable

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)

sizeString

String

No es aplicable

screentip

String

No es aplicable

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)

supertip

String

No es aplicable

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)

Elementos secundarios: item

Cuadro de edición

Representa el control editBox.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

alignLabel

String

No es aplicable

enabled

Boolean

No es aplicable

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)

expand

String

No es aplicable

layout

String

No es aplicable

label

String

No es aplicable

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)

keytip

Token

No es aplicable

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)

maxLength

Entero positivo

No es aplicable

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

No es aplicable

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)

visible

Boolean

No es aplicable

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)

Elementos secundarios: ninguno

Grupo

Representa el contenedor de grupos.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

insertAfterMso

Nombre integrado (String)

No es aplicable

insertBeforeMso

Nombre integrado (String)

No es aplicable

insertAfterQ

Nombre completo (String)

No es aplicable

insertBeforeQ

Nombre completo (String)

No es aplicable

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

getStyle

Callback

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)

helperText

String

No es aplicable

getHelperText

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)

showLabel

Boolean

No es aplicable

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)

Elementos secundarios: primaryItem, topItems, bottomItems

Cuadro de grupo

Representa el contenedor groupBox.

Atributos:

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

expand

String

No es aplicable

layout

String

No es aplicable

label

String

No es aplicable

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)

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

Hipervínculo

Representa un control hyperlink.

Atributos:

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

alignLabel

String

No es aplicable

expand

String

No es aplicable

enabled

Boolean

No es aplicable

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)

keytip

Token

No es aplicable

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)

layout

String

No es aplicable

label

String

No es aplicable

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)

target

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

Elementos secundarios: ninguno

Control de imagen

Representa un control imageControl.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

enabled

Boolean

No es aplicable

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)

image

String

No es aplicable

imageMso

Nombre integrado (String)

No es aplicable

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)

visible

Boolean

No es aplicable

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)

Elementos secundarios: ninguno

Elemento

Representa el elemento en un control dropDown o comboBox.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

label

String

No es aplicable

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)

Elementos secundarios: ninguno

Control de etiqueta

Representa el control labelControl.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

alignLabel

String

No es aplicable

expand

String

No es aplicable

enabled

Boolean

No es aplicable

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)

layout

String

No es aplicable

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

Elementos secundarios: ninguno

Contenedor de diseño

Representa el contenedor layoutContainer.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

align

String

No es aplicable

expand

String

No es aplicable

layoutChildren

String

No es aplicable

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

Menú

Representa el control menu.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

*description

String

No es aplicable

*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)

tag

String

No es aplicable

enabled

Boolean

No es aplicable

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)

image

String

No es aplicable

imageMso

Nombre integrado (String)

No es aplicable

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)

keytip

Token

No es aplicable

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)

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

getVisible

Callback

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

C#: bool GetVisible(IRibbonControl control)

Visual Basic: GetVisible(control As IRibbonControl) As Boolean

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

*screentip

String

No es aplicable

*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)

*supertip

String

No es aplicable

*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)

* No se usa en todas las implementaciones

Elementos secundarios: menuGroup

Grupo de menús

Representa el contenedor menuGroup.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

label

String

No es aplicable

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)

itemSize

String

No es aplicable

Elementos secundarios: button, checkbox, menu

Elemento principal

Representa un contenedor primaryItem.

Atributos: ninguno

Elementos secundarios: button, menu

Botón de opciones

Representa el botón en un control radioGroup.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

label

String

No es aplicable

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)

Elementos secundarios: ninguno

Grupo de opciones

Representa el contenedor del control radioButton.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

alignLabel

String

No es aplicable

expand

String

No es aplicable

layout

String

No es aplicable

enabled

Boolean

No es aplicable

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 GetSelectedItemIndex(control As IRibbonControl, itemIndex as Integer) as String

C++: HRESULT GetSelectedItemIndex([in] IRibbonControl *pControl, [in] LONG cIndex, [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)

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

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)

keytip

Token

No es aplicable

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)

Elementos secundarios: radioButton

Ficha

Representa el contenedor principal de los controles de la vista Backstage relacionados.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

insertAfterMso

Nombre integrado (String)

No es aplicable

insertBeforeMso

Nombre integrado (String)

No es aplicable

insertAfterQ

Nombre completo (String)

No es aplicable

insertBeforeQ

Nombre completo (String)

No es aplicable

enabled

Boolean

No es aplicable

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)

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

keytip

Token

No es aplicable

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)

title

String

No es aplicable

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)

columnWidthPercent

Positive Integer

No es aplicable

firstColumnMinWidth

Positive Integer

No es aplicable

firstColumnMaxWidth

Positive Integer

No es aplicable

secondColumnMinWidth

Positive Integer

No es aplicable

secondColumnMaxWidth

Positive Integer

No es aplicable

Elementos secundarios: firstColumn, secondColumn

Tarea

Representa el contenedor de tareas.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

enabled

Boolean

No es aplicable

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)

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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)

keytip

Token

No es aplicable

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)

description

String

No es aplicable

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)

image

String

No es aplicable

imageMso

Nombre integrado (String)

No es aplicable

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)

Elementos secundarios: group

Grupo de formularios de tareas

Representa un contenedor taskFormGroup.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

insertAfterMso

Nombre integrado (String)

No es aplicable

insertBeforeMso

Nombre integrado (String)

No es aplicable

insertAfterQ

Nombre completo (String)

No es aplicable

insertBeforeQ

Nombre completo (String)

No es aplicable

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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

No es aplicable

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)

showLabel

Boolean

No es aplicable

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)

Elementos secundarios: category

Grupo de tareas

Representa un contenedor taskGroup.

Atributo

Tipo

Firma de devolución de llamada

id

Id

No es aplicable

idQ

Nombre completo (String)

No es aplicable

idMso

Nombre integrado (String)

No es aplicable

tag

String

No es aplicable

insertAfterMso

Nombre integrado (String)

No es aplicable

insertBeforeMso

Nombre integrado (String)

No es aplicable

insertAfterQ

Nombre completo (String)

No es aplicable

insertBeforeQ

Nombre completo (String)

No es aplicable

label

String

No es aplicable

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)

visible

Boolean

No es aplicable

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

No es aplicable

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)

showLabel

Boolean

No es aplicable

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)

Elementos secundarios: category

Conclusión

La extensibilidad de la vista Backstage brinda una oportunidad inigualable para proporcionar a los usuarios un conjunto de menús y opciones personalizados y dedicados. Y lo mejor de todo es que puede usar la experiencia y las estructuras que usó al personalizar la interfaz de usuario de la cinta de opciones. Desde aquí les animo a que exploren los diferentes componentes que conforman la interfaz de usuario de Microsoft Office Fluent para crear aplicaciones personalizadas para su organización.

Recursos adicionales

En las siguientes ubicaciones podrá encontrar más información acerca de los temas tratados en este artículo.

Agradecimientos: Gracias a mi editora, Linda Cannon, por su ayuda en la preparación de este artículo para su publicación.