Compartir a través de


Tutorial: Crear una etiqueta inteligente usando un complemento en el nivel de la aplicación

Actualización: Julio de 2008

Se aplica a

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

Tipo de proyecto

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Word 2007

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

Este tutorial muestra cómo crear una etiqueta inteligente en el nivel de la aplicación que puede utilizar en todos los documentos abiertos. La etiqueta inteligente reconoce las medidas expresadas en cucharadas de un documento de Microsoft Office Word 2007 y proporciona una acción que convierte la cantidad en onzas. Agrega la cantidad equivalente expresada en onzas entre paréntesis después de las cucharadas.

Para ejecutar la etiqueta inteligente, los usuarios finales deben habilitar las etiquetas inteligentes en Word. Para obtener más información, vea Cómo: Habilitar las etiquetas inteligentes en Word y en Excel.

Este tutorial ilustra las tareas siguientes:

  • Crear una etiqueta inteligente que utiliza una expresión regular para reconocer las cadenas.

  • Crear una acción que recupere los datos de la etiqueta inteligente y modifique el texto reconocido de la etiqueta inteligente.

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é usando 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 un proyecto nuevo

El primer paso consiste en crear un proyecto de complemento de Word.

Para crear un nuevo proyecto

Visual Studio agrega el proyecto My Recipe Smart Tag al Explorador de soluciones.

Configurar el proyecto

El proyecto necesita una referencia al archivo DLL de la etiqueta inteligente y también necesita usar expresiones regulares.

Para configurar el proyecto

  1. Haga clic en la opción Agregar referencia del menú Proyecto.

  2. En la ficha COM, seleccione Biblioteca de tipos de Etiquetas inteligentes de Microsoft 2.0 y haga clic en Aceptar.

  3. En el Explorador de soluciones, haga clic con el botón secundario en ThisDocument.vb (en Visual Basic) o en ThisDocument.cs (en C#) y, a continuación, haga clic en Ver código.

  4. Agregue la línea siguiente de código a la parte superior del archivo.

    Imports System.Text.RegularExpressions
    
    using System.Text.RegularExpressions;
    

Crear la etiqueta inteligente

Para habilitar la etiqueta inteligente para buscar y convertir las medidas expresadas en cucharadas, agregue una expresión regular a la lista de términos que reconoce la etiqueta inteligente y cree una acción que estará disponible cuando el usuario haga clic en la etiqueta.

Para crear la etiqueta inteligente

  1. Reemplace el controlador de eventos ThisAddIn_Startup de la clase ThisAddIn por el siguiente código. Este código crea una SmartTag que representa la etiqueta inteligente de Visual Studio Tools para Office y agrega una expresión regular a la lista de términos que reconoce la etiqueta inteligente.

    WithEvents RecipeAction As Microsoft.Office.Tools.Word.Action
    
    Private Sub ThisAddIn_Startup(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Startup
    
        Dim SmartTagDemo As New Microsoft.Office.Tools.Word.SmartTag( _
            "www.microsoft.com/Demo#DemoSmartTag", "Recipe Smart Tag")
    
        SmartTagDemo.Expressions.Add(New Regex( _
            "(?'tbsNumber'[+-]?\b[0-9]+)?\s?(tbs|tablespoons|tablespoon)\b"))
    
    
    private Microsoft.Office.Tools.Word.Action RecipeAction;
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Word.SmartTag SmartTagDemo =
            new Microsoft.Office.Tools.Word.SmartTag(
            @"www.microsoft.com/Demo#DemoSmartTag",
            @"Recipe Smart Tag");
    
        // Specify the terms to recognize.
        SmartTagDemo.Expressions.Add(new Regex(
            @"(?'tbsNumber'[+-]?\b[0-9]+)?\s?(tbs|tablespoons|tablespoon)\b"));
    
    
  2. Cree una nueva Action y agréguela a la propiedad Actions de la etiqueta inteligente. Action representa un elemento en el que el usuario puede hacer clic en el menú de etiquetas inteligentes.

    RecipeAction = New Microsoft.Office.Tools.Word.Action("Convert to ounces")
    
    SmartTagDemo.Actions = _
        New Microsoft.Office.Tools.Word.Action() {RecipeAction}
    
    RecipeAction = new Microsoft.Office.Tools.Word.Action(
        @"Convert to ounces");
    
    // Add the action to the smart tag.
    SmartTagDemo.Actions = new
        Microsoft.Office.Tools.Word.Action[] { RecipeAction };
    
    
  3. Asocie la etiqueta inteligente a la propiedad VstoSmartTags de la clase ThisAddIn. En C#, asocie un controlador de eventos al evento Click de la acción.

        Me.VstoSmartTags.Add(SmartTagDemo)
    End Sub
    
    
        // Add the smart tag to the document.
        this.VstoSmartTags.Add(SmartTagDemo);
    
        RecipeAction.Click += new
            Microsoft.Office.Tools.Word.ActionClickEventHandler(
            RecipeAction_Click);
    }
    
    

Crear un controlador de eventos para la acción

El controlador de eventos recupera el valor expresado en cucharadas de la clave tbsNumber, que se encuentra en la bolsa de propiedades de la etiqueta inteligente. A continuación, el controlador de eventos convierte la cantidad expresada en cucharadas en onzas e inserta el valor expresado en onzas entre paréntesis después de las cucharadas.

En este ejemplo, la clave tbsNumber identifica un grupo capturado de la expresión regular asignada a la etiqueta inteligente. Para obtener más información sobre la bolsa de propiedades y las expresiones regulares de las etiquetas inteligentes de Visual Studio Tools para Office, vea Arquitectura de las etiquetas inteligentes.

Para crear el controlador de eventos

  • Copie el código siguiente a la clase ThisAddIn.

    Private Sub RecipeAction_Click(ByVal sender As Object, _
        ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
        Handles RecipeAction.Click
    
        Dim value As String = e.Properties.Read("tbsNumber")
        Dim tbsRecipeAmount As Double = System.Convert.ToDouble(value)
        Dim ozRecipeAmount As Double = tbsRecipeAmount * 0.5
        e.Range.InsertAfter(" (" + ozRecipeAmount.ToString() + " oz)")
    End Sub
    
    
    private void RecipeAction_Click(object sender,
        Microsoft.Office.Tools.Word.ActionEventArgs e)
    {
        string value = e.Properties.get_Read(@"tbsNumber");
        double tbsRecipeAmount = System.Convert.ToDouble(value);
        double ozRecipeAmount = tbsRecipeAmount * 0.5;
        e.Range.InsertAfter(" (" + ozRecipeAmount.ToString() + " oz)");
    }
    

Probar la aplicación

Ahora puede probar el documento para comprobar que la etiqueta inteligente convierte las cucharadas en onzas.

Para probar el libro

  1. En Word, habilite las etiquetas inteligentes.

    Para obtener más información, vea Cómo: Habilitar las etiquetas inteligentes en Word y en Excel.

  2. Presione F5 para ejecutar el proyecto.

  3. Escriba una receta cuyos ingredientes estén medidos en cucharadas.

  4. Haga clic en el icono de la etiqueta inteligente que aparece sobre la cadena reconocida y, a continuación, seleccione Convert to ounces.

  5. Confirme que el equivalente en onzas se inserta después de las cucharadas.

Vea también

Tareas

Cómo: Habilitar las etiquetas inteligentes en Word y en Excel

Cómo: Agregar etiquetas inteligentes a documentos de Word

Cómo: Agregar etiquetas inteligentes a libros de Excel

Cómo: Crear etiquetas inteligentes con reconocedores personalizados en Word

Cómo: Crear etiquetas inteligentes con reconocedores personalizados en Excel

Tutorial: Crear una etiqueta inteligente usando una personalización en el nivel del documento.

Conceptos

Información general sobre etiquetas inteligentes

Arquitectura de las etiquetas inteligentes

Historial de cambios

Fecha

Historial

Motivo

Julio de 2008

Se ha agregado un tema.

Cambio de características de SP1.