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

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

  1. Scegliere Aggiungi riferimento dal menu Progetto.

  2. Nella scheda .NET selezionare Microsoft.Office.Interop.SmartTag e fare clic su OK. Selezionare la versione 12.0.0.0 dell'assembly.

  3. 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.

  4. 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

  1. 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"));
    
  2. 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 };
    
  3. 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

  1. In Word abilitare gli smart tag.

    Per ulteriori informazioni, vedere Procedura: abilitare gli smart tag in Word ed Excel.

  2. Premere F5 per eseguire il progetto.

  3. Nel documento di Word digitare 1 cucchiaio da tavola di sale.

  4. Fare clic sull'icona dello smart tag visualizzata sopra 1 cucchiaio da tavola, quindi fare clic su Convert to ounces.

  5. 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

Procedura: creare smart tag con sistemi di riconoscimento personalizzati in Word e .NET Framework 3.5

Procedura: creare smart tag con sistemi di riconoscimento personalizzati in Excel e .NET Framework 3.5

Procedura dettagliata: creazione di uno smart tag tramite una personalizzazione a livello di documento

Concetti

Architettura degli smart tag

Altre risorse

Cenni preliminari sugli smart tag