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
Versión de Microsoft Office
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
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 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
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 paneles de acciones.
Personalizar la interfaz de usuario de Microsoft Office Outlook 2007 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 ficha personalizada usando el diseñador de la cinta de opciones