Partager via


Architecture des balises actives

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Projets au niveau du document

  • Excel 2003

  • Excel 2007

  • Word 2003

  • Word 2007

Projets au niveau de l'application

  • Excel 2007

  • Word 2007

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Visual Studio Tools pour Office fournit un modèle objet de balise active flexible qui vous permet d'ajouter rapidement des balises actives aux documents Microsoft Office Word et classeurs Microsoft Office Excel. Pour les scénarios avancés, vous pouvez également créer vos propres modules de reconnaissance des balises actives et accéder aux données qui sont stockées dans la balise active.

Pour plus d'informations sur les balises actives Visual Studio Tools pour Office, consultez Vue d'ensemble des balises actives.

Vue d'ensemble du modèle objet

Le modèle objet pour les balises actives de Visual Studio Tools pour Office fournit des classes distinctes pour les balises actives et les actions que celles-ci exécutent. Pour obtenir des exemples de code montrant comment ajouter des balises actives Visual Studio Tools pour Office à un document, consultez Comment : ajouter des balises actives à des documents Word et Comment : ajouter des balises actives aux classeurs Excel.

Balises actives

Une balise active Visual Studio Tools pour Office est une instance de n'importe quelle classe dérivée de la classe SmartTagBase abstraite. Visual Studio Tools pour Office inclut deux classes qui implémentent la classe SmartTagBase abstraite : Microsoft.Office.Tools.Word.SmartTag et Microsoft.Office.Tools.Excel.SmartTag. À moins que vous deviez créer votre propre module de reconnaissance des balises actives, vous pouvez utiliser des instances de ces classes lorsque vous ajoutez des balises actives dans un document.

La classe SmartTagBase fournit les fonctionnalités suivantes :

  • Les propriétés Terms et Expressions contenant les termes reconnaissables pour la balise active. Pour spécifier une chaîne simple, ajoutez la chaîne à la propriété Terms. Pour spécifier une chaîne complexe, ajoutez une expression régulière décrivant la chaîne à la propriété Expressions.

  • La propriété Actions contenant les actions à exécuter lorsque l'utilisateur sélectionne la balise active.

  • Un module de reconnaissance des balises actives par défaut qui compare l'entrée de l'utilisateur au contenu des propriétés Terms et Expressions.

Actions

Lorsque l'utilisateur sélectionne votre balise active, il peut effectuer une ou plusieurs actions propres à celle-ci. Chaque action est représentée par une instance de la classe Microsoft.Office.Tools.Word.Action ou Microsoft.Office.Tools.Excel.Action. Ces classes fournissent les événements BeforeCaptionShow et Click :

  • L'événement BeforeCaptionShow est déclenché juste après que l'utilisateur a cliqué sur l'icône de balise active, mais avant que le menu Balise active ne s'affiche. Gérez cet événement si vous souhaitez modifier le titre de l'action dans le menu de balise active au moment de l'exécution.

  • L'événement Click est déclenché lorsque l'utilisateur clique sur le titre de l'action dans le menu Balise active. Gérez cet événement pour qu'il exécute du code lorsque l'utilisateur clique sur l'action.

Les gestionnaires d'événements de ces événements reçoivent un Microsoft.Office.Tools.Excel.ActionEventArgs (pour Excel) ou Microsoft.Office.Tools.Word.ActionEventArgs (pour Word) qui fournit l'accès au texte reconnu et l'emplacement du texte.

Comportement de la reconnaissance du texte par défaut

Lorsqu'un utilisateur tape du texte dans un document ou dans un classeur, Word et Excel créent une liste de jetons à partir de ce texte. Le module de reconnaissance des balises actives par défaut dans la classe SmartTagBase reçoit cette liste de jetons ainsi que le texte complet entré par l'utilisateur. Le module de reconnaissance par défaut identifie une balise active si l'une des conditions suivantes est satisfaite :

  • Une des chaînes de la propriété Terms correspond exactement à l'un des jetons dans le document ou le classeur.

  • Une des expressions régulières dans la propriété Expressions a une correspondance dans le texte complet entré par l'utilisateur.

Word et Excel analysent les chaînes contenant des espaces incorporés, ou les chaînes qui associent des lettres, des chiffres et des symboles, dans des jetons séparés lorsqu'un utilisateur les entre. Par exemple, si l'utilisateur entre « rapport de ventes », Word et Excel créent les jetons « ventes » et « rapport ». De la même façon, si l'utilisateur entre "ventes 2005", Word et Excel créent les jetons "2005" et "ventes".

Pour que la balise active reconnaisse une chaîne contenant des espaces incorporés ou une chaîne associant des lettres, des chiffres et des symboles, n'ajoutez pas la chaîne à la propriété Terms. Ajoutez plutôt une expression régulière décrivant la chaîne à la propriété Expressions ou créez votre propre module de reconnaissance qui recherche la chaîne.

Création de module de reconnaissance des balises actives

Pour créer votre propre module de reconnaissance des balises actives, dérivez une nouvelle classe à partir de SmartTagBase, de Microsoft.Office.Tools.Word.SmartTag ou de Microsoft.Office.Tools.Excel.SmartTag et substituez la méthode Recognize.

Dans votre implémentation de Recognize, vous devez rechercher les termes des balises actives dans le texte et inscrire manuellement la balise active avec Word ou Excel si un terme de balise active est trouvé. Pour des exemples montrant comment créer des modules de reconnaissance pour les balises actives Visual Studio Tools pour Office, consultez Comment : créer des balises actives avec des modules de reconnaissance personnalisés dans Word et Comment : créer des balises actives avec des modules de reconnaissance personnalisés dans Excel.

Le processus d'inscription manuelle d'une balise active dépend de la classe de balise active à partir de laquelle vous effectuez la dérivation. Le tableau suivant répertorie les différentes options disponibles pour l'inscription d'une balise active.

Classe à partir de laquelle vous effectuez la dérivation

Comment inscrire la balise active

Microsoft.Office.Tools.Word.SmartTag

Appelez la méthode SmartTag.PersistTag.

Microsoft.Office.Tools.Excel.SmartTag

Appelez la méthode SmartTag.PersistTag.

SmartTagBase

Appelez la méthode CommitSmartTag du paramètre site de la méthode Recognize.

Le paramètre site est un objet qui implémente l'interface ISmartTagRecognizerSite. Cette interface est disponible lorsque vous ajoutez à votre projet une référence à la Bibliothèque de types Microsoft Smart Tags 2.0. Pour plus d'informations, consultez la documentation du Kit de développement logiciel des balises actives dans MSDN Library.

Stockage et récupération de données dans le sac de propriétés

Les balises actives peuvent stocker des données dans une collection de paires clé/valeur, désignée par le terme « sac de propriétés ». Chaque valeur et chaque clé du sac de propriétés sont une chaîne.

Les balises actives Visual Studio Tools pour Office offrent deux moyens d'accéder au sac de propriétés :

Pour obtenir des exemples de lecture et d'écriture dans le sac de propriétés, consultez Comment : créer des balises actives avec des modules de reconnaissance personnalisés dans Word et Comment : créer des balises actives avec des modules de reconnaissance personnalisés dans Excel.

Expressions régulières et sac de propriétés

Lorsque vous assignez une expression régulière à une balise active Visual Studio Tools pour Office, le module de reconnaissance par défaut ajoute une paire clé-valeur pour chaque groupe capturé par l'expression régulière au sac de propriétés de la balise active.

Pour obtenir un exemple qui illustre ce comportement, consultez Procédure pas à pas : création d'une balise active à l'aide d'une personnalisation au niveau du document. Pour obtenir plus d'informations sur les groupes capturés dans des expressions régulières, consultez Constructions de regroupement et Classes d'expressions régulières.

Voir aussi

Tâches

Comment : activer des balises actives dans Word et Excel

Comment : ajouter des balises actives à des documents Word

Comment : ajouter des balises actives aux classeurs Excel

Comment : créer des balises actives avec des modules de reconnaissance personnalisés dans Word

Comment : créer des balises actives avec des modules de reconnaissance personnalisés dans Excel

Procédure pas à pas : création d'une balise active à l'aide d'une personnalisation au niveau du document

Procédure pas à pas : création d'une balise active à l'aide d'un complément d'application

Concepts

Vue d'ensemble des balises actives