Condividi tramite


Procedura dettagliata: creazione di uno smart tag tramite un componente aggiuntivo a livello di applicazione

Aggiornamento: Luglio 2008

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di applicazione

Versione Microsoft Office

  • Word 2007

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

Questa procedura dettagliata dimostra come creare uno smart tag a livello di applicazione utilizzabile in ogni documento aperto. Lo smart tag riconosce misure di quantità espresse in cucchiai contenute in un documento di Microsoft Office Word 2007 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.

Per eseguire lo smart tag, gli utenti finali devono attivare gli smart tag in Word. Per ulteriori informazioni, vedere la classe Procedura: attivare gli smart tag in Word ed Excel.

Vengono illustrate le attività seguenti:

  • Creazione di uno smart tag che utilizza un'espressione regolare per riconoscere 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 la classe Impostazioni di Visual Studio.

Prerequisiti

Per completare la procedura dettagliata è necessario disporre dei componenti elencati di seguito.

  • Visual Studio Tools per Office°(componente facoltativo di Visual Studio 2008 Professional e Visual Studio Team System).

  • Microsoft Office Word 2007.

Visual Studio Tools per Office viene installato per impostazione predefinita con le versioni di Visual Studio elencate. Per controllare se è installato, vedere Installazione di Visual Studio Tools per Office.

Creazione di un nuovo progetto

Il primo passaggio consiste nella creazione di un progetto componente aggiuntivo per Word.

Per creare un nuovo progetto

Visual Studio aggiunge il progetto My Recipe Smart Tag 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 COM selezionare Libreria dei tipi Microsoft Smart Tags 2.0 e scegliere OK.

  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 attivare 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. Questo codice consente di creare un oggetto SmartTag che rappresenta lo smart tag Visual Studio Tools per Office 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. Collegare lo smart tag alla proprietà VstoSmartTags della classe ThisAddIn. Nel linguaggio C# collegare 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 Visual Studio Tools per Office, 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)");
    }
    

Testing dell'applicazione

A questo punto è possibile testare il documento per verificare che lo smart tag esegua correttamente la conversione da cucchiai in once.

Per testare la cartella di lavoro

  1. In Word, attivare gli smart tag.

    Per ulteriori informazioni, vedere la classe Procedura: attivare gli smart tag in Word ed Excel.

  2. Premere F5 per eseguire il progetto.

  3. Digitare una ricetta in cui le quantità degli ingredienti siano espresse in "tablespoon" (ovvero in cucchiai).

  4. Fare clic sull'icona di smart tag visualizzata sulla stringa riconosciuta, 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: attivare 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

Procedura: creare smart tag con sistemi di riconoscimento personalizzati in Excel

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

Concetti

Cenni preliminari sugli smart tag

Architettura degli smart tag

Cronologia delle modifiche

Date

History

Motivo

Luglio 2008

Aggiunto un argomento.

Modifica di funzionalità in SP1.