Agregar comandos a menús de función rápida

En este tema se muestra cómo agregar comandos a un menú de función rápida en una aplicación de Office mediante un complemento de VSTO.

Aplicación: la información de este tema se aplica a los proyectos de nivel de documento y a los proyectos de complemento de VSTO. Consulte las Características disponibles por tipo de proyecto y aplicación de Office.

Para agregar comandos a los menús de función rápida de Office

  1. Agregue un elemento XML de cinta a un proyecto de nivel de documento o de complemento de VSTO. Para obtener más información, consulte Introducción a la personalización de la cinta. In

  2. Explorador de soluciones, seleccione ThisAddIn.cs o ThisAddIn.vb.

  3. En la barra de menús, elija Ver>Código.

    El archivo de clase ThisAddin se abrirá en el Editor de código.

  4. Agregue el siguiente código a la clase ThisAddin . Este código invalida el método CreateRibbonExtensibilityObject y devuelve la clase XML Ribbon a la aplicación de Office.

    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
          return new Ribbon1();
    }
    
  5. En el Explorador de soluciones, seleccione el archivo XML de cinta. De forma predeterminada, el archivo XML de cinta se denomina Ribbon1.xml.

  6. En la barra de menús, elija Ver>Código.

    Se abrirá el archivo de código XML de cinta de opciones en el Editor de código.

  7. En el Editor de código, agregue el código XML que describe el menú contextual y el control que quiere agregar al menú de función rápida.

    En el ejemplo siguiente se agrega un botón, un menú y un control de galería al menú de función rápida de un documento de Word. El id. del control de este menú de función rápida es ContextMenuText. Para obtener una lista completa de identificadores de control de acceso directo de Office 2010, consulte Archivos de ayuda de Office 2010: identificadores de control de la interfaz de usuario de Office Fluent.

    <?xml version="1.0" encoding="UTF-8"?>
    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
      <contextMenus>
        <contextMenu idMso="ContextMenuText">
          <button id="MyButton" label="My Button" insertBeforeMso="HyperlinkInsert" onAction="GetButtonID" />
          <menu id="MySubMenu" label="My Submenu" >
            <button id="MyButton2" label="Button on submenu" />
          </menu>
          <gallery id="galleryOne" label="My Gallery">
            <item id="item1" imageMso="HappyFace" />
            <item id="item2" imageMso="HappyFace" />
            <item id="item3" imageMso="HappyFace" />
            <item id="item4" imageMso="HappyFace" />
          </gallery>
        </contextMenu>
      </contextMenus>
    </customUI>
    
  8. En el Explorador de soluciones, elija MyRibbon.cs o MyRibbon.vb.

  9. Agregue un método de devolución de llamada a la clase Ribbon1 para cada control que quiere administrar.

    El siguiente método de devolución de llamada controla el botón Mi botón . Este código agrega una cadena al documento activo en la posición actual del cursor.

    public void GetButtonID(Office.IRibbonControl control)
    {
        Microsoft.Office.Interop.Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        currentRange.Text = "This text was added by the context menu named My Button.";
    }