Share via


Tutorial: Creación de una pestaña personalizada mediante XML de la cinta

En este tutorial se muestra cómo crear una pestaña personalizada de la cinta de opciones mediante el elemento Ribbon (XML).

Se aplica a: La información de este tema se aplica a proyectos de nivel de documento y proyectos de complementos de VSTO para las siguientes aplicaciones: Excel; InfoPath 2013 e InfoPath 2010; Outlook; Powerpoint; Proyecto; Visio; Palabra. Para obtener más información, consulte Características disponibles por aplicación de Office lication y tipo de proyecto.

En este tutorial se muestran las tareas siguientes:

  • Agregar botones a la pestaña Complementos. La pestaña Complementos es la pestaña predeterminada definida en el archivo XML de la cinta de opciones.

  • Automatizar Microsoft Office Word mediante los botones de la pestaña Complementos .

Nota:

Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para más información, vea Personalizar el IDE de Visual Studio.

Requisitos previos

Necesitará los componentes siguientes para completar este tutorial:

Creación del proyecto

El primer paso es crear un proyecto de complemento de VSTO de Word. Más adelante personalizará la pestaña Complementos de este documento.

Para crear un nuevo proyecto

  1. Cree un proyecto de complemento de Word con el nombre MyRibbonAddIn.

    Para obtener más información, vea Cómo: Crear proyectos de Office en Visual Studio.

    Visual Studio abre el archivo de código ThisAddIn.cs o ThisAddIn.vb y agrega el proyecto MyRibbonAddIn a Explorador de soluciones.

Crear la pestaña Complementos de VSTO

Para crear la pestaña Complementos , agregue un elemento de cinta de opciones (XML) al proyecto. En un paso posterior de este tutorial, agregará algunos botones a esta pestaña.

Para crear la pestaña Complementos

  1. En el menú Proyecto , haga clic en Agregar nuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, seleccione Cinta de opciones (XML).

  3. Cambie el nombre de la nueva cinta de opciones por MyRibbony haga clic en Agregar.

    El archivo MyRibbon.cs o MyRibbon.vb se abre en el diseñador. También se agrega un archivo XML denominado MyRibbon.xml al proyecto.

  4. En Explorador de soluciones, haga clic con el botón derecho en ThisAddin.cs o ThisAddin.vb y, a continuación, haga clic en Ver código.

  5. 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 MyRibbon();
    }
    
  6. En Explorador de soluciones, haga clic con el botón derecho en el proyecto MyRibbonAddIn y, a continuación, haga clic en Compilar. Compruebe que el proyecto se compila sin errores.

Agregar botones a la pestaña Complementos

El objetivo de este complemento de VSTO es proporcionar a los usuarios una manera de agregar texto reutilizable y una tabla específica al documento activo. Para proporcionar la interfaz de usuario, agregue dos botones a la pestaña Complementos modificando el archivo XML de la cinta de opciones. En un paso posterior de este tutorial, definirá métodos de devolución de llamada para los botones. Para obtener más información sobre el archivo XML de la cinta de opciones, vea XML de la cinta de opciones.

Para agregar botones a la pestaña Complementos

  1. En Explorador de soluciones, haga clic con el botón derecho en MyRibbon.xml y, a continuación, haga clic en Abrir.

  2. Reemplace el contenido del elemento tab por el siguiente XML. Este XML cambia la etiqueta del grupo de controles predeterminado a Contenido y agrega dos botones nuevos con las etiquetas Insertar texto e Insertar tabla.

    <tab idMso="TabAddIns">
        <group id="ContentGroup" label="Content">
            <button id="textButton" label="Insert Text"
                 screentip="Text" onAction="OnTextButton"
                 supertip="Inserts text at the cursor location."/>
            <button id="tableButton" label="Insert Table"
                 screentip="Table" onAction="OnTableButton"
                 supertip="Inserts a table at the cursor location."/>
        </group>
    </tab>
    

Automatizar el documento mediante los botones

Debe agregar onAction métodos de devolución de llamada para los botones Insertar texto e Insertar tabla para realizar acciones cuando el usuario hace clic en ellos. Para obtener más información sobre los métodos de devolución de llamada para los controles de la cinta de opciones, vea XML de la cinta de opciones.

Para agregar métodos de devolución de llamada a los botones

  1. En Explorador de soluciones, haga clic con el botón derecho en MyRibbon.cs o MyRibbon.vb y, a continuación, haga clic en Abrir.

  2. Agregue el código siguiente a la parte superior del archivo MyRibbon.cs o MyRibbon.vb . Este código crea un alias para el espacio de nombres Microsoft.Office.Interop.Word.

    using Word = Microsoft.Office.Interop.Word;
    
  3. Agregue el siguiente método a la clase MyRibbon. Se trata de un método de devolución de llamada para el botón Insertar texto que agrega una cadena al documento activo en la ubicación actual del cursor.

    public void OnTextButton(Office.IRibbonControl control)
    {
        Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        currentRange.Text = "This text was added by the Ribbon.";
    }
    
  4. Agregue el siguiente método a la clase MyRibbon. Se trata de un método de devolución de llamada para el botón Insertar tabla que agrega una tabla al documento activo en la ubicación actual del cursor.

    public void OnTableButton(Office.IRibbonControl control)
    {
        object missing = System.Type.Missing;
        Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        Word.Table newTable = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add(
        currentRange, 3, 4, ref missing, ref missing);
    
        // Get all of the borders except for the diagonal borders.
        Word.Border[] borders = new Word.Border[6];
        borders[0] = newTable.Borders[Word.WdBorderType.wdBorderLeft];
        borders[1] = newTable.Borders[Word.WdBorderType.wdBorderRight];
        borders[2] = newTable.Borders[Word.WdBorderType.wdBorderTop];
        borders[3] = newTable.Borders[Word.WdBorderType.wdBorderBottom];
        borders[4] = newTable.Borders[Word.WdBorderType.wdBorderHorizontal];
        borders[5] = newTable.Borders[Word.WdBorderType.wdBorderVertical];
    
        // Format each of the borders.
        foreach (Word.Border border in borders)
        {
            border.LineStyle = Word.WdLineStyle.wdLineStyleSingle;
            border.Color = Word.WdColor.wdColorBlue;
        }
    }
    

Probar el complemento de VSTO

Al ejecutar el proyecto, Word se abre y la pestaña denominada Complementos aparece en la cinta de opciones. Haga clic en los botones Insertar texto e Insertar tabla en la pestaña Complementos para probar el código.

Para probar el complemento de VSTO

  1. Presione F5 para ejecutar el proyecto.

  2. Confirme que la pestaña Complementos está visible en la cinta de opciones.

  3. Haga clic en la pestaña Complementos .

  4. Confirme que el grupo contenido está visible en la cinta de opciones.

  5. Haga clic en el botón Insertar texto en el grupo Contenido .

    Se agrega una cadena al documento en la ubicación actual del cursor.

  6. Haga clic en el botón Insertar tabla en el grupo Contenido .

    Se agrega una tabla al documento en la ubicación actual del cursor.

Pasos siguientes

Puede aprender más acerca de la personalización de la interfaz de usuario de Office en estos temas:

  • Personalice la cinta de opciones de una aplicación de Office lication diferente. Para obtener más información sobre las aplicaciones que admiten la personalización de la cinta de opciones, consulte Introducción a la cinta de opciones.

  • Personalice la cinta de opciones de una aplicación de Office lication mediante el Diseñador de la cinta de opciones. Para obtener más información, consulta Ribbon Designer.

  • Crear un panel de acciones personalizadas. Para obtener más información, vea Información general sobre el panel Acciones.

  • Personalizar la interfaz de usuario de Microsoft Office Outlook mediante las áreas de formulario de Outlook. Para obtener más información, vea Tutorial: Diseño de un área de formulario de Outlook.