Procedura dettagliata: creazione di uno smart tag tramite un componente aggiuntivo a livello di applicazione
In questa procedura dettagliata viene illustrato come creare uno smart tag a livello di applicazione che può essere utilizzato in ogni documento aperto. Lo smart tag riconosce misure di quantità espresse in cucchiai contenute in un documento di Microsoft Office Word e fornisce un'azione per convertirle in once. In particolare, lo smart tag aggiunge fra parentesi la quantità equivalente in once dopo l'indicazione in cucchiai.
Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di applicazione per Word 2007. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.
Per eseguire lo smart tag, gli utenti finali devono abilitare gli smart tag in Word. Per ulteriori informazioni, vedere Procedura: abilitare gli smart tag in Word ed Excel.
In questa procedura dettagliata vengono illustrate le seguenti attività:
Creazione di uno smart tag che utilizza un'espressione regolare per riconoscere le stringhe.
Creazione di un'azione che recuperi i dati dallo smart tag e modifichi il testo riconosciuto dallo smart tag.
Nota
Il computer potrebbe mostrare nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. L'edizione di Visual Studio in uso e le impostazioni utilizzate determinano questi elementi. Per ulteriori informazioni, vedere Gestione delle impostazioni.
Prerequisiti
Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:
-
Una versione di Visual Studio 2010 che include gli strumenti per sviluppatori di Microsoft Office. Per ulteriori informazioni, vedere [Configurazione di un computer per sviluppare soluzioni Office](bb398242\(v=vs.100\).md).
Word 2007.
.NET Framework 3.5.
Nota
Se il progetto è destinato a .NET Framework 4, è necessario scrivere codice diverso per creare smart tag e azioni. Per ulteriori informazioni, vedere Architettura degli smart tag.
Creazione di un nuovo progetto
Il primo passaggio consiste nella creazione di un progetto componente aggiuntivo per Word.
Per creare un nuovo progetto
Creare un progetto componente aggiuntivo per Word 2007 denominato My Recipe Smart Tag in Visual Basic o C#.
Per ulteriori informazioni, vedere Procedura: creare progetti di Office in Visual Studio.
In Visual Studio il progetto My Recipe Smart Tag viene aggiunto in Esplora soluzioni.
Configurazione del progetto
Per il progetto è necessario configurare un riferimento alla DLL dello smart tag e utilizzare espressioni regolari.
Per configurare il progetto
Scegliere Aggiungi riferimento dal menu Progetto.
Nella scheda .NET selezionare Microsoft.Office.Interop.SmartTag e fare clic su OK. Selezionare la versione 12.0.0.0 dell'assembly.
In Esplora soluzioni fare clic con il pulsante destro del mouse su ThisDocument.vb (in Visual Basic) oppure su ThisDocument.cs (in C#), quindi scegliere Visualizza codice.
Aggiungere le seguenti righe di codice all'inizio del file.
Imports System.Text.RegularExpressions
using System.Text.RegularExpressions;
Creazione dello smart tag
Per abilitare lo smart tag per la ricerca e la conversione di misure in cucchiai, aggiungere all'elenco dei termini un'espressione regolare riconosciuta dallo smart tag e creare un'azione che sarà disponibile quando l'utente farà clic sullo smart tag.
Per creare lo smart tag
Sostituire il gestore eventi ThisAddIn_Startup nella classe ThisAddIn con il codice riportato di seguito. Il codice consente di creare un oggetto SmartTag che rappresenta lo smart tag e di aggiungere all'elenco dei termini un'espressione regolare riconosciuta dallo smart tag.
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"));
Creare una nuovo oggetto Action e aggiungerlo alla proprietà Actions dello smart tag. L'oggetto Action rappresenta un elemento sul quale l'utente può fare clic nel menu Smart tag.
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 };
Associare lo smart tag alla proprietà VstoSmartTags della classe ThisAddIn. Nel linguaggio C# associare un gestore eventi all'evento Click dell'azione.
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); }
Creazione di un gestore eventi per l'azione
Il gestore eventi recupera la misura espressa in cucchiai dal valore tbsNumber di chiave, contenuto nell'elenco proprietà dello smart tag. Quindi, dopo aver convertito in once la quantità espressa in cucchiai, il gestore eventi inserisce il valore in once fra parentesi dopo il valore in cucchiai.
Nell'esempio il valore tbsNumber di chiave identifica un gruppo acquisito dall'espressione regolare assegnata allo smart tag. Per ulteriori informazioni sugli elenchi proprietà e sulle espressioni regolari negli smart tag, vedere Architettura degli smart tag.
Per creare il gestore eventi
Copiare il codice riportato di seguito nella classe 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)"); }
Verifica dell'applicazione
A questo punto è possibile eseguire il test del documento per verificare che lo smart tag esegua correttamente la conversione da cucchiai in once.
Per verificare la cartella di lavoro
In Word abilitare gli smart tag.
Per ulteriori informazioni, vedere Procedura: abilitare gli smart tag in Word ed Excel.
Premere F5 per eseguire il progetto.
Nel documento di Word digitare 1 cucchiaio da tavola di sale.
Fare clic sull'icona dello smart tag visualizzata sopra 1 cucchiaio da tavola, quindi fare clic su Convert to ounces.
Verificare che l'equivalente in once venga inserito dopo la quantità espressa in cucchiai.
Vedere anche
Attività
Procedura: abilitare gli smart tag in Word ed Excel
Procedura: aggiungere smart tag ai documenti di Word
Procedura: aggiungere smart tag a cartelle di lavoro di Excel