Personalizar la cinta de opciones de Office Fluent con un archivo de formatos Open XML

El componente de la cinta de opciones de la interfaz de usuario de Microsoft Office Fluent ofrece a los usuarios una forma flexible para trabajar con aplicaciones de Office. La extensibilidad de cinta (RibbonX) usa un formato XML declarativo simple basado en texto para crear y personalizar la cinta.

El ejemplo de código de este tema muestra cómo agregar componentes personales a la cinta para un único documento, en oposición a la adición de personalizaciones de nivel de aplicación. En los siguientes pasos, agregará una pestaña personalizada, un grupo personalizado y un botón personalizado a la cinta existente en Microsoft Word. También implementará un procedimiento de devolución de llamada para el botón que inserta un nombre de empresa en el documento.

  1. Cree el archivo personalizado en cualquier editor de texto y guarde el archivo con el nombre customUI.xml.

  2. Agregue el siguiente formato XML al archivo y, a continuación, cierre y guarde el archivo.

     <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
       <ribbon> 
         <tabs> 
           <tab id="CustomTab" label="My Tab"> 
             <group id="SampleGroup" label="Sample Group"> 
               <button id="Button" label="Insert Company Name" size="large" onAction="ThisDocument.InsertCompanyName" /> 
             </group > 
           </tab> 
         </tabs> 
       </ribbon> 
     </customUI> 
    
  3. Cree una carpeta en el escritorio con el nombre customUI y copie el archivo de personalización XML a la carpeta.

  4. Valide el formato XML con un esquema personalizado.

    Nota:

    Este paso es opcional.

  5. Cree un documento en Word y guárdelo con el nombre RibbonSample.docm.

  6. Abra el Editor de Visual Basic y agregue el procedimiento siguiente al módulo de código ThisDocument . Cierre y guarde el documento.

      Sub InsertCompanyName(ByVal control As IRibbonControl) 
      ' Inserts the specified text at the beginning of a range or selection. 
      Dim MyText As String 
      Dim MyRange As Object 
      Set MyRange = ActiveDocument.Range 
      MyText = "Microsoft Corporation" 
      ' Range Example: Inserts text at the beginning 
      ' of the active document 
      MyRange.InsertBefore (MyText) 
      ' Selection Example: 
      'Selection.InsertBefore (MyText) 
    End Sub 
    
    
  7. Agregue una extensión .zip al nombre de archivo del documento y, a continuación, haga doble clic en él para abrir el archivo.

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

  9. Extraiga el archivo .rels al escritorio. Una carpeta _rels que contiene el archivo .rels se copia al escritorio.

  10. Abra el archivo .rels y agregue la siguiente línea entre la última etiqueta Relationship y la etiqueta Relationships. Así se crea una relación entre el archivo de documento y el archivo personalizado.

     <Relationship Id="someID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml" />
    
  11. Cierre y guarde el archivo.

  12. Vuelva a agregar la carpeta .rels al archivo del contenedor arrastrándolo del escritorio y sobrescriba el archivo existente.

  13. Cambie el nombre de archivo del documento por su nombre original quitando la extensión .zip.

  14. Abra el documento y observe que la cinta de opciones muestra ahora la ficha Mi ficha.

  15. Haga clic en la ficha y observe que el grupo Grupo de ejemplo tiene un botón de control.

  16. Haga clic en el botón para insertar el nombre de la empresa en el documento.

Vea 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.