Procédure pas à pas : création d'une balise active à l'aide d'une personnalisation au niveau du document
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. Type de projet
Version de Microsoft Office
Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet. |
Cette procédure pas à pas montre comment créer une balise active dans une personnalisation au niveau du document pour Word. La balise active reconnaît des chaînes de température en degrés Fahrenheit. La balise active inclut une action qui convertit la valeur d'une température mesurée en degrés Celsius et remplace le texte reconnu par une chaîne mise en forme correspondant à une température en degrés Celsius.
Pour exécuter cette balise active, les utilisateurs finaux doivent activer les balises actives dans Word. Pour plus d'informations, consultez Comment : activer des balises actives dans Word et Excel.
Cette procédure pas à pas illustre les tâches suivantes :
Création d'une balise active qui reconnaît une expression régulière.
Création d'une action qui récupère les données de la balise active et modifie le texte reconnu de la balise active.
![]() |
---|
Votre ordinateur risque d'afficher des noms ou des emplacements différents pour certains éléments de l'interface utilisateur Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio. |
Composants requis
Les composants suivants sont nécessaires pour exécuter cette procédure pas à pas :
Visual Studio Tools pour Office (composant facultatif de Visual Studio 2008 Professional et Visual Studio Team System)
Microsoft Office Word 2003 ou Microsoft Office Word 2007
Visual Studio Tools pour Office est installé par défaut avec les versions répertoriées de Visual Studio. Pour vérifier s'il est installé, consultez Installation de Visual Studio Tools pour Office.
Création d'un projet
La première étape consiste à créer un projet de document Word.
Pour créer un projet
Créez un projet de document Word et attribuez-lui le nom Ma balise active, en utilisant Visual Basic ou C#. Dans l'Assistant, sélectionnez Créer un nouveau document.
Pour plus d'informations, consultez Comment : créer des projets Visual Studio Tools pour Office.
Visual Studio ouvre le nouveau document Word dans le concepteur et ajoute le projet Ma balise active à l'Explorateur de solutions.
Configuration du projet
Le projet a besoin d'une référence à la DLL de balise active et doit également utiliser des expressions régulières.
Pour configurer votre projet
Dans le menu Projet, cliquez sur Ajouter une référence.
Sous l'onglet COM, sélectionnez Bibliothèque de types Microsoft Smart Tags 2.0, puis cliquez sur OK.
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur ThisDocument.vb (en Visual Basic) ou ThisDocument.cs (en C#), puis cliquez sur Afficher le code.
Ajoutez la ligne de code suivante au début du fichier.
[Visual Basic] Imports System.Text.RegularExpressions
using System.Text.RegularExpressions;
Création de la balise active
Pour permettre à la balise active de rechercher et de convertir les chaînes correspondant à des températures mesurées en degrés Fahrenheit, ajoutez une expression régulière à la liste des termes que la balise active reconnaît, puis créez une action qui sera disponible lorsque l'utilisateur clique sur la balise active.
Pour créer la balise active
Remplacer le gestionnaire d'événements ThisDocument_Startup de la classe ThisDocument par le code suivant. Ce code crée un SmartTag qui représente la balise active Visual Studio Tools pour Office et ajoute une expression régulière à la liste des termes que la balise active reconnaît.
WithEvents action1 As Microsoft.Office.Tools.Word.Action Private Sub ThisDocument_Startup(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Startup Dim smartTag1 As New Microsoft.Office.Tools.Word.SmartTag( _ "www.microsoft.com/Demo#DemoSmartTag", _ "Demonstration Smart Tag") smartTag1.Expressions.Add( _ New Regex("(?'number'[+-]?\b[0-9]+)?\s?(F|f)\b"))
private Microsoft.Office.Tools.Word.Action action1; private void ThisDocument_Startup(object sender, System.EventArgs e) { Microsoft.Office.Tools.Word.SmartTag smartTag1 = new Microsoft.Office.Tools.Word.SmartTag( "www.microsoft.com/Demo#DemoSmartTag", "Demonstration Smart Tag"); smartTag1.Expressions.Add(new Regex( @"(?'number'[+-]?\b[0-9]+)?\s?(F|f)\b"));
Créez un nouveau Action, puis ajoutez-le à la propriété Actions de la balise active. Action représente un élément sur lequel l'utilisateur peut cliquer dans le menu Balise active.
action1 = New Microsoft.Office.Tools.Word.Action( _ "Convert to Celsius") smartTag1.Actions = _ New Microsoft.Office.Tools.Word.Action() {action1}
action1 = new Microsoft.Office.Tools.Word.Action( "Convert to Celsius"); smartTag1.Actions = new Microsoft.Office.Tools.Word.Action[] {action1};
Attachez la balise active au document en ajoutant SmartTag à la propriété VstoSmartTags. En C#, attachez un gestionnaire d'événements à l'événement Click de l'action.
Me.VstoSmartTags.Add(smartTag1) End Sub
this.VstoSmartTags.Add(smartTag1); action1.Click += new Microsoft.Office.Tools.Word.ActionClickEventHandler( action1_Click); }
Création d'un gestionnaire d'événements pour l'action
Le gestionnaire d'événements récupère la valeur de la température mesurée en degrés Fahrenheit du numéro de clé, qui est dans le sac de propriétés de la balise active. Le gestionnaire d'événements convertit ensuite en degrés Celsius la valeur de la température mesurée en degrés Fahrenheit, puis remplace la chaîne reconnue.
Dans cet exemple, le numéro de clé identifie un groupe capturé à partir de l'expression régulière assignée à la balise active. Pour plus d'informations sur les conteneurs de propriétés et les expressions régulières dans les balises actives Visual Studio Tools pour Office, consultez Architecture des balises actives.
Pour créer le gestionnaire d'événements
Copiez le code suivant dans la classe ThisDocument.
Private Sub action1_Click(ByVal sender As Object, _ ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _ Handles action1.Click Dim value As String = e.Properties.Read("number") Dim fahrenheit As Double = System.Convert.ToDouble(value) Dim celsius As Integer = Fix(fahrenheit - 32) * 5 / 9 e.Range.Text = celsius.ToString() + "C" End Sub
void action1_Click(object sender, Microsoft.Office.Tools.Word.ActionEventArgs e) { string value = e.Properties.get_Read("number"); double fahrenheit = System.Convert.ToDouble(value); int celsius = (int)(fahrenheit - 32) * 5 / 9; e.Range.Text = celsius.ToString() + "C"; }
Test de l'application
Vous pouvez à présent tester votre document pour vous assurer que la balise active convertit en degrés Celsius les températures mesurées en degrés Fahrenheit.
Pour tester votre classeur
Dans Word, activez les balises actives.
Pour plus d'informations, consultez Comment : activer des balises actives dans Word et Excel.
Appuyez sur F5 pour exécuter votre projet.
Tapez une chaîne qui correspond à l'expression régulière que vous avez ajoutée à la balise active, par exemple 60F, 60° F ou 60 F.
Remarque :
Pour taper un symbole degré (°), appuyez sur ALT et tapez 248.
Cliquez sur l'icône de balise active qui s'affiche au-dessus de la chaîne reconnue, puis cliquez sur Convert to Celsius.
Vérifiez que la chaîne d'origine est remplacée par une nouvelle chaîne qui contient la température en degrés Celsius.
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'un complément d'application