Compartir a través de


Arquitectura de las etiquetas inteligentes

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.

Proyectos de nivel de documento

  • Excel 2003

  • Excel 2007

  • Word 2003

  • Word 2007

Proyectos de nivel de aplicación

  • Excel 2007

  • Word 2007

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

Visual Studio Tools para Office proporciona un modelo de objetos de etiquetas inteligentes flexible que permite agregar rápidamente etiquetas inteligentes a los documentos de Microsoft Office Word y los libros de Microsoft Office Excel. Para los escenarios avanzados, también puede crear sus propios reconocedores de etiquetas inteligentes y datos de acceso que se almacenan en la etiqueta inteligente.

Para obtener más información sobre las etiquetas inteligentes de Visual Studio Tools para Office, vea Información general sobre etiquetas inteligentes.

Información general sobre el modelo de objetos

El modelo de objetos de las etiquetas inteligentes de Visual Studio Tools para Office proporciona clases independientes para las etiquetas inteligentes y las acciones que éstas realizan. Para obtener ejemplos de código que muestren cómo agregar etiquetas inteligentes de Visual Studio Tools para Office a un documento, vea Cómo: Agregar etiquetas inteligentes a documentos de Word y Cómo: Agregar etiquetas inteligentes a libros de Excel.

Etiquetas inteligentes

Una etiqueta inteligente de Visual Studio Tools para Office es una instancia de cualquier clase que se derive de la clase SmartTagBase abstracta. Visual Studio Tools para Office incluye dos clases que implementan la clase SmartTagBase abstracta: Microsoft.Office.Tools.Word.SmartTag y Microsoft.Office.Tools.Excel.SmartTag. A menos que deba crear su propio reconocedor de etiquetas inteligentes, puede utilizar instancias de estas clases para agregar etiquetas inteligentes a un documento.

La clase SmartTagBase proporciona las siguientes características:

  • Las propiedades Terms y Expressions, que contienen los términos reconocibles para la etiqueta inteligente. Para especificar una cadena simple, agregue la cadena a la propiedad Terms. Para especificar una cadena compleja, agregue una expresión regular que describa la cadena a la propiedad Expressions.

  • La propiedad Actions, que contiene las acciones a realizar cuando el usuario selecciona la etiqueta inteligente.

  • Un reconocedor de etiquetas inteligentes predeterminado que compara los datos proporcionados por el usuario con el contenido de las propiedades Terms y Expressions.

Acciones

Cuando el usuario selecciona su etiqueta inteligente, puede realizar una o más acciones que son específicas de la etiqueta inteligente. Una instancia de la clase Microsoft.Office.Tools.Excel.Action o Microsoft.Office.Tools.Word.Action representa cada acción. Estas clases proporcionan los eventos BeforeCaptionShow y Click:

  • Se provoca el evento BeforeCaptionShow inmediatamente después de que el usuario haga clic en el icono de la etiqueta inteligente, pero antes de que se muestre el menú de etiquetas inteligentes. Controle este evento si desea modificar en tiempo de ejecución el título de la acción en el menú de etiquetas inteligentes.

  • Se provoca el evento Click cuando el usuario hace clic en el título de la acción en el menú de etiquetas inteligentes. Controle este evento para ejecutar código cuando el usuario haga clic en la acción.

Los controladores de estos eventos reciben un argumento Microsoft.Office.Tools.Excel.ActionEventArgs (para Excel) o Microsoft.Office.Tools.Word.ActionEventArgs (para Word) que proporciona acceso al texto reconocido e indica su ubicación.

Comportamiento predeterminado del reconocimiento de texto

Cuando un usuario escribe texto en un documento o en un libro, Word y Excel crean una lista de tokens a partir del texto. El reconocedor de etiquetas inteligentes predeterminado en la clase SmartTagBase recibe esta lista de símbolos y el texto completo escrito por el usuario. El reconocedor predeterminado identifica una etiqueta inteligente si se cumple una de las condiciones siguientes:

  • Una de las cadenas en la propiedad Terms coincide exactamente con uno de los símbolos en el documento o el libro.

  • Una de las expresiones regulares en la propiedad Expressions se corresponde con el texto completo escrito por el usuario.

Word y Excel analizan cadenas que contienen espacios incrustados, o cadenas que combinan letras, números y símbolos, en token separados cuando un usuario las escribe. Por ejemplo, si el usuario escribe "sales report", Word y Excel crean los símbolos (token) "sales" y "report". Del mismo modo, si el usuario escribe "2005sales", Word y Excel crean los tokens "2005" y "sales".

Si desea que su etiqueta inteligente reconozca una cadena que contiene espacios incrustados o una cadena que combina letras, números y símbolos, no agregue la cadena a la propiedad Terms. En lugar de ello, agregue una expresión regular que describa la cadena a la propiedad Expressions o cree su propio reconocedor para buscar la cadena.

Crear reconocedores de etiquetas inteligentes

Para crear su propia herramienta de reconocimiento de etiquetas inteligentes, derive una nueva clase de SmartTagBase, Microsoft.Office.Tools.Word.SmartTag o Microsoft.Office.Tools.Excel.SmartTag e invalide el método Recognize.

En la implementación de Recognize, debe buscar términos de etiquetas inteligentes en el texto y registrar manualmente la etiqueta inteligente con Word o Excel si encuentra alguno. Para obtener ejemplos sobre cómo crear herramientas de reconocimiento de etiquetas inteligentes de Visual Studio Tools para Office, vea Cómo: Crear etiquetas inteligentes con reconocedores personalizados en Word y Cómo: Crear etiquetas inteligentes con reconocedores personalizados en Excel.

El proceso para registrar manualmente una etiqueta inteligente depende de la clase de etiqueta de la que esté derivando. La tabla siguiente muestra las diferentes opciones para registrar una etiqueta inteligente.

Clase de la que se deriva

Cómo registrar la etiqueta inteligente

Microsoft.Office.Tools.Word.SmartTag

Llame al método SmartTag.PersistTag.

Microsoft.Office.Tools.Excel.SmartTag

Llame al método SmartTag.PersistTag.

SmartTagBase

Llame al método CommitSmartTag del parámetro site del método Recognize.

El parámetro site es un objeto que implementa la interfaz ISmartTagRecognizerSite. Esta interfaz está disponible cuando se agrega una referencia a Microsoft Smart Tags 2.0 Type Library al proyecto. Para obtener más información, vea la documentación del SDK de etiquetas inteligentes en MSDN Library.

Almacenar y recuperar datos de la bolsa de propiedades

Las etiquetas inteligentes pueden almacenar los datos en una colección de pares de clave y valor, conocida como bolsa de propiedades. Cada valor y clave de la bolsa de propiedades es una cadena.

Las etiquetas inteligentes de Visual Studio Tools para Office proporcionan dos formas de obtener acceso a la bolsa de propiedades:

Para obtener ejemplos sobre cómo escribir y leer la bolsa de propiedades, vea Cómo: Crear etiquetas inteligentes con reconocedores personalizados en Word y Cómo: Crear etiquetas inteligentes con reconocedores personalizados en Excel.

Expresiones regulares y la bolsa de propiedades

Cuando se asigna una expresión regular a una etiqueta inteligente de Visual Studio Tools para Office, la herramienta de reconocimiento predeterminada agrega un par de clave y valor por cada grupo capturado desde la expresión regular a la bolsa de propiedades de la etiqueta inteligente.

Para obtener un ejemplo que muestre este comportamiento, vea Tutorial: Crear una etiqueta inteligente usando una personalización en el nivel del documento.. Para obtener más información sobre grupos capturados en expresiones regulares, vea Construcciones de agrupamiento y Clases de expresiones regulares.

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.

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

Conceptos

Información general sobre etiquetas inteligentes