Cómo: Agregar comandos a menús contextuales

En este tema se muestra cómo agregar comandos a un menú contextual en una aplicación de Office mediante un complemento de nivel de aplicación.

Se aplica a: La información de este tema se aplica a los proyectos de nivel de documento y los proyectos de nivel de aplicación para Office 2013 y Office 2010. Vea Características disponibles por aplicación y tipo de proyecto de Office.

Para agregar comandos a los menús contextuales de Office

  1. Agregue un elemento Cinta XML a un documento-nivel o a un proyecto de nivel de aplicación.Para obtener más información, vea Cómo: Iniciarse en la personalización de la cinta de opciones.In

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

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

    El archivo de clase ThisAddin se abre en el editor de código.

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

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

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

    El archivo XML de la cinta de opciones se abre en el editor de código.

  7. En el editor de código, agregue XML que describe el menú contextual y el control que desea agregar al menú contextual.

    El ejemplo siguiente se agrega un botón, un menú, y un control de la galería al menú contextual para un documento de word.El identificador del control de este menú contextual es ContextMenuText.Para obtener una lista completa de id. de control de acceso directo de Office 2010, vea 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="https://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 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 desea controlar.

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

    Public Sub GetButtonID(ByVal control As Office.IRibbonControl)
        Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range
        currentRange.Text = "This text was added by the context menu named My Button."
    End Sub
    
    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.";
    }
    

Vea también

Tareas

Tutorial: Crear menús de acceso directo para marcadores

Conceptos

Parámetros opcionales en las soluciones de Office

Otros recursos

Personalización de la interfaz de usuario de Office

Personalizar menús contextuales de Office 2010