Cómo: Agregar comandos a menús contextualesHow to: Add Commands to Shortcut Menus

En este tema se muestra cómo agregar comandos a un menú contextual en una aplicación de Office mediante un complemento de VSTO.This topic demonstrates how to add commands to a shortcut menu in an Office application by using an VSTO Add-in.

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.Applies to: The information in this topic applies to document-level projects and VSTO add-in projects. Vea características disponibles por aplicación y tipo de proyecto Office.See Features Available by Office Application and Project Type.

Para agregar comandos a los menús contextuales de OfficeTo add commands to shortcut menus in Office

  1. Agregue un elemento XML de cinta a un proyecto de nivel de documento o de complemento de VSTO.Add a Ribbon XML item to a document-level or VSTO Add-in project. Para obtener más información, consulte How to: Get Started Customizing the Ribbon.For more information, see How to: Get Started Customizing the Ribbon. EnIn

  2. elExploado de soluciones, seleccione ThisAddIn.cs o ThisAddIn.vb.Solution Explorer, select ThisAddin.cs or ThisAddin.vb.

  3. En la barra de menús, elija Ver, Código.On the menu bar, choose View, Code.

    El archivo de clase ThisAddin se abrirá en el Editor de código.The ThisAddin class file opens in the Code Editor.

  4. Agregue el siguiente código a la clase ThisAddin .Add the following code to the ThisAddin class. Este código invalida el método CreateRibbonExtensibilityObject y devuelve la clase XML Ribbon a la aplicación de Office.This code overrides the CreateRibbonExtensibilityObject method and returns the Ribbon XML class to the Office application.

    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
          return new Ribbon1();
    }
    
    Protected Overrides Function CreateRibbonExtensibilityObject() As Microsoft.Office.Core.IRibbonExtensibility
        Return New Ribbon1()
    End Function
    
  5. En el Explorador de soluciones, seleccione el archivo XML de cinta.In Solution Explorer, select the Ribbon XML file. De forma predeterminada, el archivo XML de cinta se denomina Ribbon1.xml.By default, the Ribbon XML file is named Ribbon1.xml.

  6. En la barra de menús, elija Ver, Código.On the menu bar, choose View, Code.

    Se abrirá el archivo de código XML de cinta de opciones en el Editor de código.The Ribbon xml file opens in the Code Editor.

  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ú contextual.In the Code Editor, add XML that describes the shortcut menu and the control that you want to add to the shortcut menu.

    En el ejemplo siguiente se agrega un botón, un menú y un control de galería al menú contextual de un documento de Word.The following example adds a button, a menu, and a gallery control to the shortcut menu for a word document. El id. del control de este menú contextual es ContextMenuText.The control ID of this shortcut menu is ContextMenuText. Para obtener una lista completa de control de acceso directo de Office 2010 identificadores, vea archivos de Ayuda de Office 2010: identificadores de Control en la interfaz de usuario de Office Fluent.For a complete list of Office 2010 shortcut control ID's, see Office 2010 Help Files: Office Fluent User Interface Control Identifiers.

    <?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.In Solution Explorer, choose MyRibbon.cs or MyRibbon.vb.

  9. Agregue un método de devolución de llamada a la clase Ribbon1 para cada control que quiere administrar.Add the a callback method to the Ribbon1 class for each control that you want to handle.

    El siguiente método de devolución de llamada controla el botón Mi botón .The following callback method handles the My Button button. Este código agrega una cadena al documento activo en la posición actual del cursor.This code adds a string to the active document at the current location of the curser.

    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énSee Also

Personalización de la interfaz de usuario de Office Office UI Customization
Tutorial: Crear menús contextuales para marcadores Walkthrough: Creating Shortcut Menus for Bookmarks
Parámetros opcionales en las soluciones de Office Optional Parameters in Office Solutions
Personalizar menús contextuales de Office 2010Customizing Context Menus in Office 2010