Condividi tramite


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

Aggiornamento: novembre 2007

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 documento

Versione Microsoft Office

  • Word 2003

  • Word 2007

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

In questa procedura dettagliata verrà illustrata la creazione di uno smart tag in una personalizzazione a livello di documento per Word. Lo smart tag riconosce stringhe di temperatura Fahrenheit. Lo smart tag include un'azione che converte il valore della temperatura in Celsius e sostituisce il testo riconosciuto con una stringa di temperatura Celsius formattata.

Per eseguire questo 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.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Creazione di uno smart tag che riconosca un'espressione regolare.

  • 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 Impostazioni di Visual Studio.

Prerequisiti

Per completare questa procedura dettagliata, è necessario disporre dei seguenti componenti:

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

  • Microsoft Office Word 2003 o 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 Documento di Word.

Per creare un nuovo progetto

Il nuovo documento di Word verrà aperto nella finestra di progettazione di Visual Studio e il progetto My Smart Tag verrà 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 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.

     [Visual Basic]
    Imports System.Text.RegularExpressions
    
    using System.Text.RegularExpressions;
    

Creazione dello smart tag

Per attivare lo smart tag per la ricerca e la conversione delle stringhe della temperatura Fahrenheit, 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 ThisDocument_Startup nella classe ThisDocument 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 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"));
    
  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.

    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};
    
  3. Associare lo smart tag al documento aggiungendo SmartTag alla proprietà VstoSmartTags. Nel linguaggio C# collegare un gestore eventi all'evento Click dell'azione.

        Me.VstoSmartTags.Add(smartTag1)
    End Sub
    
        this.VstoSmartTags.Add(smartTag1);
    
        action1.Click += new
            Microsoft.Office.Tools.Word.ActionClickEventHandler(
            action1_Click);
    }
    

Creazione di un gestore eventi per l'azione

Il gestore eventi recupera il valore di temperatura Fahrenheit dal numero di chiave, contenuto nell'elenco proprietà dello smart tag. Il valore di temperatura Fahrenheit viene quindi convertito in Celsius e la stringa riconosciuta viene sostituita.

Nell'esempio il numero 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 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 dell'applicazione

A questo punto è possibile testare il documento per accertarsi che lo smart tag esegua correttamente la conversione delle temperature Fahrenheit in Celsius.

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 stringa conforme all'espressione regolare aggiunta in precedenza allo smart tag, ad esempio 60F, 60° F oppure 60 F.

    Nota:

    Per digitare il simbolo del grado (°), tenere premuto ALT e digitare 248.

  4. Fare clic sull'icona di smart tag visualizzata sulla stringa riconosciuta, quindi fare clic su Convert to Celsius.

  5. Verificare che la stringa originale sia sostituita con la nuova stringa contenente la temperatura in Celsius.

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 un componente aggiuntivo a livello di applicazione

Concetti

Cenni preliminari sugli smart tag

Architettura degli smart tag