Compartir a través de


Tutorial: Crear una ficha personalizada usando XML de la cinta de opciones

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office.

Tipo de proyecto

  • Proyectos de nivel de documento

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Excel 2007

  • Word 2007

  • Outlook 2007

  • PowerPoint 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

En este tutorial se muestra cómo crear una ficha personalizada de la cinta de opciones mediante el elemento Cinta (XML).

Este tutorial ilustra las tareas siguientes:

  • Agregar botones a la ficha Complementos. La ficha Complementos es la ficha predeterminada que se define en el archivo XML de la cinta de opciones.

  • Automatizar Microsoft Office Word 2007 mediante los botones de la ficha Complementos.

Nota:

Es posible que su 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 tenga y la configuración que esté utilizando determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

  • Visual Studio Tools para Office (componente opcional de Visual Studio 2008 Professional y Visual Studio Team System).

  • Microsoft Office Word 2007.

Visual Studio Tools para Office se instala, de forma predeterminada, con las versiones mostradas de Visual Studio. Para comprobar si está instalado, consulte Instalar Visual Studio Tools para Office.

Crear el proyecto

El primer paso consiste en crear un proyecto de complemento de Word 2007. Más adelante, personalizará la ficha Complementos de este documento.

Para crear un nuevo proyecto

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

    Asegúrese de utilizar la plantilla de proyecto Complemento de Word correspondiente a Microsoft Office System 2007. Para obtener más información, vea Cómo: Crear proyectos de Visual Studio para Office.

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

Crear la ficha Complementos

Para crear la ficha Complementos, agregue un elemento Cinta (XML) al proyecto. Más adelante en este tutorial, agregará algunos botones a esta ficha.

Para crear la ficha Complementos

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

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

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

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

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

  5. 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 MyRibbon()
    End Function
    
    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
        return new MyRibbon();
    }
    
  6. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto MyRibbonAddIn y, a continuación, haga clic en Generar. Compruebe si el proyecto se genera sin errores.

Agregar botones a la ficha Complementos

El objetivo de este complemento es ofrecer 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 ficha Complementos modificando el archivo XML de la cinta de opciones. Más adelante en este tutorial, definirá métodos de devolución de llamada para los botones. Para obtener más información acerca del archivo XML de cinta de opciones, vea XML de la cinta de opciones.

Para agregar botones a la ficha Complementos

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

  2. Reemplace el contenido del elemento tab por el código XML siguiente. Este código XML cambia la etiqueta del grupo de controles predeterminado a Content y agrega dos nuevos botones con las etiquetas Insert Text e Insert Table.

    <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 los métodos de devolución de llamada onAction para que los botones Insertar texto e Insertar tabla realicen acciones cuando un usuario haga clic en ellos. Para obtener más información sobre los métodos de devolución de llamada para los controles de cinta de opciones, vea XML de la cinta de opciones.

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

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

  2. Agregue el código siguiente en 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.

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

    Public Sub OnTextButton(ByVal control As Office.IRibbonControl)
        Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range
        currentRange.Text = "This text was added by the Ribbon."
    End Sub
    
    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 método siguiente a la clase MyRibbon. Éste es un método de devolución de llamada para el botón Insertar tabla que agrega una tabla al documento activo en la posición actual del cursor.

    Public Sub OnTableButton(ByVal control As Office.IRibbonControl)
        Dim missing As Object = System.Type.Missing
    
        Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range
        Dim newTable As Word.Table = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add( _
                   currentRange, 3, 4)
    
        ' Get all of the borders except for the diagonal borders.
        Dim borders() As Word.Border = 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.
        For Each border As Word.Border In borders
            border.LineStyle = Word.WdLineStyle.wdLineStyleSingle
            border.Color = Word.WdColor.wdColorBlue
        Next
    End Sub
    
    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

Cuando ejecuta el proyecto, se abre Word 2007 y aparece la ficha denominada Complementos en la cinta de opciones. Haga clic en los botones Insertar texto e Insertar tabla de la ficha Complementos para probar el código.

Para probar el complemento

  1. Presione F5 para ejecutar el proyecto.

  2. Confirme que la ficha Complementos está visible en la cinta de opciones.

  3. Haga clic en la ficha 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 posició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 posició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:

Vea también

Tareas

Tutorial: Crear una ficha personalizada usando el diseñador de la cinta de opciones

Conceptos

Información general sobre la cinta de opciones

XML de la cinta de opciones