Tutorial: Crear una pestaña personalizada usando XML de la cinta de opciones
En este tutorial se muestra cómo crear una ficha personalizada de la cinta de opciones mediante el elemento Cinta (XML).
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 las siguientes aplicaciones: Excel 2007 y Excel 2010; InfoPath 2010; Outlook 2007 y Outlook 2010; PowerPoint 2007 y PowerPoint 2010; Project 2010; Visio 2010; Word 2007 y Word 2010. Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto de Office.
En este tutorial se muestran 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 mediante los botones de la pestaña 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 Trabajar con valores de configuración.
Requisitos previos
Necesita los componentes siguientes para completar este tutorial:
-
Una edición de Visual Studio 2010 que incluye las herramientas para desarrolladores de Microsoft Office. Para obtener más información, vea [Configurar un equipo para desarrollar soluciones de Office](bb398242\(v=vs.100\).md).
- Microsoft Office Word 2007 o Word 2010.
Dispone de una demostración en vídeo relacionada en How Do I: Use the Ribbon Designer to Customize the Ribbon in Excel?.
Crear el proyecto
El primer paso consiste en crear un proyecto de complemento de Word. 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.
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 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
En el menú Proyecto, haga clic en Agregar nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento, seleccione Cinta (XML).
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.
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.
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(); }
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
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.
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
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.
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;
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."; }
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 y aparece la pestaña 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
Presione F5 para ejecutar el proyecto.
Confirme que la ficha Complementos está visible en la cinta de opciones.
Haga clic en la ficha Complementos.
Confirme que el grupo Contenido está visible en la cinta de opciones.
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.
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:
Personalizar la cinta de opciones de otra aplicación de Office. Para obtener más información sobre las aplicaciones que admiten la personalización de la cinta de opciones, vea Información general sobre la cinta de opciones.
Personalizar la cinta de opciones de una aplicación de Office mediante el Diseñador de la cinta de opciones. Para obtener más información, vea Diseñador de la cinta de opciones.
Crear un panel de acciones personalizado. Para obtener más información, vea Información general sobre recuadros de 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ñar un área de formulario de Outlook.
Vea también
Tareas
Tutorial: Crear una pestaña personalizada usando el diseñador de la cinta de opciones