Exemplarische Vorgehensweise: Erstellen eines Smarttags mit einer Anpassung auf Dokumentebene

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Projekte und Versionen von Visual Studio Tools for Office von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

Microsoft Office-Version

  • Word 2003

  • Word 2007

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Diese exemplarische Vorgehensweise veranschaulicht, wie ein Smarttag in einer Anpassung auf Dokumentebene für Word erstellt wird. Das Smarttag erkennt Fahrenheit-Temperaturzeichenfolgen. Das Smarttag enthält eine Aktion, die den Temperaturwert in Celsius umrechnet und den erkannten Text durch eine formatierte Celsius-Temperaturzeichenfolge ersetzt.

Um dieses Smarttag auszuführen, müssen Endbenutzer das Smarttag in Word aktivieren. Weitere Informationen hierzu finden Sie unter Gewusst wie: Aktivieren von Smarttags in Word und Excel.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Erstellen eines Smarttags, das einen regulären Ausdruck erkennt.

  • Erstellen einer Aktion, die Daten vom Smarttag abruft und den erkannten Smarttagtext ändert.

Hinweis:

Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio, die in den folgenden Anweisungen aufgeführt sind, angezeigt. Die von Ihnen verwendete Visual Studio-Edition und die Einstellungen legen diese Elemente fest. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

  • Visual Studio Tools for Office (eine optionale Komponente von Visual Studio 2008 Professional und Visual Studio Team System).

  • Microsoft Office Word 2003 oder Microsoft Office Word 2007.

Visual Studio Tools for Office wird standardmäßig mit den aufgeführten Versionen von Visual Studio installiert. Wie Sie überprüfen können, ob die Software installiert ist, erfahren Sie in Installieren von Visual Studio Tools for Office.

Erstellen eines neuen Projekts

Der erste Schritt besteht darin, ein Word-Dokumentprojekt zu erstellen.

So erstellen Sie ein neues Projekt

Visual Studio öffnet das neue Word-Dokument im Designer und fügt dem Projektmappen-Explorer das My Smart Tag-Projekt hinzu.

Konfigurieren des Projekts

Das Projekt benötigt einen Verweis auf die Smarttag-DLL und muss auch reguläre Ausdrücke verwenden.

So konfigurieren Sie das Projekt

  1. Klicken Sie im Menü Projekt auf Verweis hinzufügen.

  2. Wählen Sie auf der Registerkarte COM die Option Microsoft Smart Tags 2.0-Typbibliothek aus, und klicken Sie auf OK.

  3. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf ThisDocument.vb (Visual Basic) bzw. ThisDocument.cs (C#), und klicken Sie dann auf Code anzeigen.

  4. Fügen Sie am Anfang der Datei die folgende Codezeile ein.

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

Erstellen des Smarttags

Damit das Smarttag Fahrenheit-Temperaturzeichenfolgen finden und konvertieren kann, fügen Sie der Liste der Begriffe, die das Smarttag erkennt, einen regulären Ausdruck hinzu, und erstellen Sie eine Aktion, die ausgeführt werden kann, wenn der Benutzer auf das Smarttag klickt.

So erstellen Sie das Smarttag

  1. Ersetzen Sie den ThisDocument_Startup-Ereignishandler in der ThisDocument-Klasse durch folgenden Code. Durch diesen Code wird ein SmartTag erstellt, das das Visual Studio Tools for Office-Smarttag darstellt. Außerdem wird der Liste der Begriffe, die das Smarttag erkennt, ein regulärer Ausdruck hinzugefügt.

    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. Erstellen Sie eine neue Action und fügen Sie sie der Actions-Eigenschaft des Smarttags hinzu. Die Action stellt ein Element im Smarttagmenü dar, auf das der Benutzer klicken kann.

    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. Fügen Sie das Smarttag an das Dokument an, indem Sie das SmartTag der VstoSmartTags-Eigenschaft hinzufügen. Fügen Sie in C# einen Ereignishandler an das Click-Ereignis der Aktion an.

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

Erstellen eines Ereignishandlers für die Aktion

Der Ereignishandler ruft über den Schlüssel number, der sich in der Eigenschaftensammlung des Smarttags befindet, den Fahrenheit-Temperaturwert ab. Der Ereignishandler wandelt dann den Fahrenheit-Temperaturwert in Celsius um und ersetzt die erkannte Zeichenfolge.

Der Schlüssel number identifiziert in diesem Beispiel eine Gruppe, die anhand des regulären Ausdrucks erfasst wird, der dem Smarttag zugewiesen ist. Weitere Informationen über Eigenschaftensammlungen und reguläre Ausdrücke in Visual Studio Tools for Office-Smarttags finden Sie unter Smarttagarchitektur.

So erstellen Sie den Ereignishandler

  • Kopieren Sie den folgenden Code in die ThisDocument-Klasse.

    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";
    }
    

Testen der Anwendung

Nun können Sie das Dokument testen, um sicherzustellen, dass das Smarttag Fahrenheit-Temperaturen in Celsius umwandelt.

So testen Sie die Arbeitsmappe

  1. Aktivieren Sie in Word Smarttags.

    Weitere Informationen hierzu finden Sie unter Gewusst wie: Aktivieren von Smarttags in Word und Excel.

  2. Drücken Sie F5, um das Projekt auszuführen.

  3. Geben Sie eine Zeichenfolge ein, die dem regulären Ausdruck entspricht, den Sie dem Smarttag hinzugefügt haben, z. B. 60F, 60° F oder 60 F.

    Hinweis:

    Für ein Gradsymbol (°) geben Sie bei gedrückter ALT-TASTE 248 ein.

  4. Klicken Sie auf das Smarttagsymbol, das über der erkannten Zeichenfolge angezeigt wird, und klicken Sie dann auf Convert to Celsius.

  5. Überzeugen Sie sich davon, dass die ursprüngliche Zeichenfolge durch eine neue Zeichenfolge ersetzt wurde, die die Temperatur in Celsius enthält.

Siehe auch

Aufgaben

Gewusst wie: Aktivieren von Smarttags in Word und Excel

Gewusst wie: Hinzufügen von Smarttags zu Word-Dokumenten

Gewusst wie: Hinzufügen von Smarttags zu Excel-Arbeitsmappen

Gewusst wie: Erstellen von Smarttags mit benutzerdefinierten Erkennungen in Word

Gewusst wie: Erstellen von Smarttags mit benutzerdefinierten Erkennungen in Excel

Exemplarische Vorgehensweise: Erstellen eines Smarttags mit einem Add-In auf Anwendungsebene

Konzepte

Übersicht über Smarttags

Smarttagarchitektur