Información general de la cinta de opciones de Office Fluent

Nota:

El uso de CommandBars en algunas aplicaciones de Microsoft Office se ha reemplazado por el nuevo componente de cinta de opciones de la interfaz de usuario de Office Fluent.

La cinta de Office Fluent sustituye al sistema anterior de barras de herramientas, paneles de tareas y menús superpuestos de versiones anteriores de Office. La cinta tiene un sistema de interfaces más sencillo que se ha optimizado para ofrecer una mejor eficiencia y detectabilidad. La cinta tiene información en pantalla, una minibarra de herramientas, métodos abreviados de teclado y menús contextuales mejorados que ofrecen una mayor eficiencia y productividad.

Además, puede usar la extensibilidad de cinta (o RibbonX) para mejorar la experiencia de usuario. Use el lenguaje de marcas extensible (XML) y uno de los distintos lenguajes de programación convencionales para manipular los componentes que constituyen la cinta. Puesto que XML es texto sin formato, puede crear archivos de personalización en cualquier editor de texto o puede usar su editor XLM favorito. También puede volver a usar los archivos de personalización con un mínimo de ajustes puesto que las aplicaciones usan el mismo modelo de programación. Por ejemplo, puede reutilizar los archivos de personalización que cree en Word, Excel, Access o PowerPoint.

El uso de archivos de formato XML para personalizar la cinta reduce notablemente la necesidad de crear complementos complejos basados en el modelo de objetos de barras de comandos. Sin embargo, los complementos escritos en versiones anteriores de Office siguen funcionando en la cinta sin modificaciones o con pocas modificaciones. Puede crear personalizaciones de nivel de aplicación para la cinta de opciones en Word, Excel o PowerPoint mediante cualquiera de las siguientes acciones:

  • Use complementos COM en código administrado o no administrado.
  • Use complementos específicos de la aplicación, como archivos .ppam y .xlam.
  • Use plantillas (archivos .dotm) en Word.

En un escenario típico, el código del complemento COM contiene procedimientos que devuelven el formato XML de un archivo de personalización externo o de un XML que es el propio código. Cuando la aplicación se inicia, el complemento carga y ejecuta el código que devuelve el formato XML. Office valida el marcado XML en un esquema XSD y, a continuación, lo carga en memoria y lo aplica a la cinta de opciones antes de que se muestre la cinta de opciones. Los controles y elementos de menú usan procedimientos de devolución de llamada para ejecutar código en el complemento.

Las personalizaciones de nivel de documento usan el mismo formato XML y un archivo de formato Open XML con una de estas extensiones: docx, .docm, .xlsx, .xlsm, .pptx o pptm. En este escenario, cree un archivo de personalización que contenga el formato XML y guárdelo en una una carpeta. A continuación, modifique las partes en el contenedor de formatos Open XML para apuntar al archivo de personalización. Cuando abra el documento en la aplicación de Office, se cargará el archivo de personalización en la memoria y se aplicará a la cinta. Los comandos y controles llamarán a continuación al código que se encuentra en el documento para ofrecer su funcionalidad.

Soluciones existentes

En versiones de Office anteriores a Office 2007, los desarrolladores usaron el modelo de objetos CommandBars para crear el código de Visual Basic que modificó la interfaz de usuario. En Office, este código heredado sigue funcionando en la mayoría de los casos sin modificaciones. Sin embargo, los cambios realizados en las barras de herramientas de Office 2003 ahora aparecen en una pestaña Complementos de Office.

El tipo de personalización que aparece depende del diseño original del complemento. Por ejemplo, Office crea un grupo Comandos de menú que contiene los elementos que agregó a la estructura de menú anterior (menú Archivo, menú Insertar, menú Herramientas, etc.). También crea un grupo Comandos de la barra de herramientas que contiene los elementos que agregó a las barras de herramientas incorporadas anteriores (como la barra de herramientas Estándar, la barra de herramientas Formato y la barra de herramientas Imagen). Además, las herramientas personalizadas de un complemento o documento aparecen en el grupo Barras de herramientas personalizadas en la pestaña Complementos.

Los procedimientos de devolución de llamada agregan funcionalidad a la cinta de opciones

Con la extensibilidad de cinta, especifique devoluciones de llamada para actualizar propiedades y realizar acciones desde la interfaz de usuario en tiempo de ejecución. Por ejemplo, considere el método de devolución de llamada onAction para un botón en el siguiente marcado RibbonX: <button id="myButton" onAction="MyButtonOnAction" />

Este marcado indica a Office que llame a la función MyButtonOnAction cuando se selecciona el botón. La función MyButtonOnAction tiene una firma específica que depende de la elección de los idiomas; a continuación se muestra un ejemplo en Visual C#.

public void MyButtonOnAction (IRibbonControl control) 
   { 
      if (control.Id=="myButton") 
      { 
         System.Windows.Forms.MessageBox.Show("Button clicked!"); 
      } 
   } 

Personalización de la cinta de opciones con complementos COM

La personalización en el nivel de aplicación hace que aparezca una cinta modificada en la aplicación independientemente del documento que esté abierto. Cree complementos COM principalmente para realizar estas modificaciones. Para personalizar la cinta con complementos COM, realice los siguientes pasos:

  1. Cree un proyecto de complementos COM. El complemento que cree debe implementar la interfaz Extensibility.IDTExtensibility2 que implementan todos los complementos COM, así como la interfaz IRibbonExtensibility que se encuentra en el espacio de nombres Microsoft.Office.Core.
  2. Cree el complemento, configure el proyecto y, a continuación, instale el proyecto.
  3. Inicie la aplicación de Office. Cuando se carga el complemento, desencadena el evento IDTExtensibility2::OnConnection , que inicializa el complemento, igual que en versiones anteriores de Office.
  4. A continuación, se llama al método QueryInterface, que determina si se implementa la interfaz IRibbonExtensibility.
  5. Si esto se produce, se llama al método IRibbonExtensibility::GetCustomUI, que carga el formato XML del archivo de personalización XML o del formato XML incrustado en el procedimiento y, a continuación, carga las personalizaciones en la aplicación.
  6. La interfaz de usuario personalizada está ahora prepara para el usuario.

Personalización de la cinta de opciones con archivos de formatos Office Open XML

Para personalizar la interfaz de usuario con formato XML, realice los siguientes pasos:

  1. Cree el archivo de personalización en cualquier editor de texto. Agregue formato XML que añada nuevos componentes a la cinta, modifique componentes existentes o oculte componentes. Guarde el archivo como customUI.xml.

  2. Cree una carpeta en el escritorio con el nombre customUI y copie el archivo de personalización en la carpeta.

  3. Valide el formato XML con el esquema de la interfaz de usuario personalizado.

    Nota:

    Este paso es opcional.

  4. Cree un documento en la aplicación Office y, a continuación, guárdelo como archivo de formato Open XML con una de estas extensiones: .docx, .docm, .xlsx, .xlsm, .pptm o .pptx. Por seguridad, los archivos que contienen macros tienen un sufijo m y pueden contener procedimientos que pueden llamar los controles y comandos RibbonX.

  5. Agregue una extensión .zip al nombre de archivo del documento y, a continuación, abra el archivo.

  6. Agregue el archivo de personalización al contenedor arrastrando la carpeta al archivo.

  7. Extraiga el archivo .rels que se encuentra en el archivo .zip en el escritorio. Se copia una carpeta _rels que contiene el archivo .rels en el escritorio.

  8. Abra el archivo .rels y agregue una línea que cree una relación entre el archivo de documento y el archivo de personalización y, a continuación, guarde el archivo.

  9. Vuelva a agregar la carpeta _rels al contenedor y sobrescriba el archivo existente.

  10. Quite la extensión .zip para volver a poner nombre original al archivo. Cuando abra el archivo Office, aparecerá la cinta, incluida la personalización de la cinta.

Formato general de los archivos de marcado XML

Use el marcado XML para personalizar la cinta de opciones. En el ejemplo siguiente se muestra el formato general de un archivo de marcado XML que puede usar para personalizar la cinta de opciones en Word.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
  <ribbon> 
    <tabs> 
      <tab idMso="TabHome"> 
        <group idMso="GroupFont" visible="false" /> 
      </tab> 
      <tab id="CustomTab" label="My Tab"> 
        <group id="SampleGroup" label="Sample Group"> 
          <toggleButton id="ToggleButton1" size="large" label="Large Toggle Button" getPressed="MyToggleMacro"  /> 
          <checkBox id="CheckBox1" label="A CheckBox" screentip="This is a check box" onAction="MyCheckboxMacro" /> 
          <editBox id="EditBox1" getText="MyTextMacro" label="My EditBox" onChange="MyEditBoxMacro"/> 
          <comboBox id="Combo1" label="My ComboBox" onChange="MyComboBoxMacro"> 
            <item id="Zip1" label="33455" /> 
            <item id="Zip2" label="81611" /> 
            <item id="Zip3" label="31561" /> 
          </comboBox> 
          <advanced> 
            <button id="Launcher1" screentip="My Launcher" onAction="MyLauncherMacro" /> 
          </advanced> 
        </group> 
        <group id="MyGroup" label="My Group" > 
          <button id="Button" label="My Large Button" size="large" onAction="MyButtonMacro" /> 
          <button id="Button2" label="My Normal Button" size="normal" onAction="MyOtherButtonMacro" /> 
        </group > 
      </tab> 
    </tabs> 
  </ribbon> 
</customUI> 

Este ejemplo realiza los siguientes cambios en la cinta de opciones de Word, en el orden siguiente:

  1. Declara el espacio de nombre predeterminado y un espacio de nombre personalizado.

  2. Oculta el grupo GroupFont integrado que se encuentra en la pestaña Inicio integrada.

  3. Agrega una nueva pestaña CustomTab a la derecha de la última pestaña integrada.

    Nota:

    Use el atributo id= identifier para crear un elemento personalizada, como una pestaña personalizada. Use el atributo idMso= identifier para hacer referencia a un elemento integrado, como la pestaña TabHome.

  4. Agrega un nuevo grupoSampleGroup a la pestaña My Tab.

  5. Agrega un botón ToggleButton1 de gran tamaño a Mi grupo y especifica una devolución de llamada onAction junto con una devolución de llamada GetPressed.

  6. Agrega una casilla CheckBox1 a Mi grupo con una información de pantalla personalizada y especifica una devolución de llamada onAction.

  7. Agrega un cuadro de edición EditBox1 a Mi grupo y especifica una devolución de llamada onChange.

  8. Agrega un cuadro combinado Combo1 a Mi grupo con tres elementos. El cuadro combinado especifica una devolución de llamada onChange que usa el texto de cada elemento.

  9. Agrega un iniciador launcher1 a Mi grupo con la devolución de llamada onAction establecida. Un iniciador también puede mostrar un cuadro de diálogo personalizado para ofrecer más opciones al usuario.

  10. Agrega un nuevo grupo MyGroup a la pestaña personalizada.

  11. Agrega un botón Button1 de gran tamaño a MyGroup y especifica una devolución de llamada onAction.

  12. Agrega un botón Button1 de tamaño normal a MyGroup y especifica una devolución de llamada onAction.

Trabajar con complementos de barra de comandos heredados

Cuando crea complementos COM, normalmente necesita una forma de que los usuarios interactúen con el complemento. En versiones anteriores de Office, agregó un elemento de menú o un botón de la barra de herramientas a la aplicación con el modelo de objetos de barras de comandos. En esta versión de Office, las aplicaciones personalizadas siguen funcionando en la cinta sin modificaciones en la mayoría de los casos. Sin embargo, los cambios realizados con el modelo de objetos CommandBars , o cualquier otra tecnología que haya modificado los menús o barras de herramientas como WordBasic o XML, aparecen en una pestaña De complementos independiente. Esto facilita a los usuarios la localización de los controles.

Actualización dinámica de la cinta de opciones

Las devoluciones de llamada que devuelven las propiedades de un control normalmente se llaman una vez a no ser que especifique que la llamada tiene que repetirse. Puede realizar una nueva consulta de la devolución de llamada implementando la devolución de llamada onLoad en el elemento CustomUI. Esta devolución de llamada se llama una vez cuando el archivo de marcado RibbonX se carga correctamente y, a continuación, pasa el código a un objeto IRibbonUI .

En el ejemplo de código siguiente se obtiene el objeto IRibbonUI para que pueda actualizar los controles en tiempo de ejecución.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="ribbonLoaded">

En C#, escriba una devolución de llamada en la clase Connect .

IRibbonUI myRibbon; 
 
     public void ribbonLoaded(IRibbonUI ribbon) { 
         myRibbon = ribbon; 
     } 

La cinta proporciona a los usuarios una forma flexible de trabajar con aplicaciones de Office. Use formato XML simple, declarativo y basado en texto para crear y personalizar la cinta. Puede crear la interfaz correcta para el usuario con algunas líneas de XML. Puesto que el formato XML se encuentra en un archivo, es más fácil modificar la interfaz cuando los requisitos cambian. También puede mejorar la productividad del usuario colocando los comandos en un lugar en el que los usuarios puedan encontrarlos fácilmente. Finalmente, la cinta aporta coherencia entre aplicaciones, lo que reduce el tiempo que los usuarios dedican a conocer cada aplicación.

Consulte también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.