Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch
Es wird empfohlen, Visual Studio 2017 zu verwenden
Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

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

In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie ein Smarttag auf Anwendungsebene erstellt wird, das Sie in jedem geöffneten Dokument verwenden können. Das Smarttag erkennt Esslöffelmaße in einem Microsoft Office Word-Dokument und stellt eine Aktion bereit, um die Menge in Ounces umzurechnen. Die entsprechende Ouncesmenge wird in Klammern nach der Esslöffelmenge hinzugefügt.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Anwendungsebene für Word 2007. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Um das 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 zum Erkennen von Zeichenfolgen verwendet.

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

HinweisHinweis

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

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

HinweisHinweis

Wenn Sie auf .NET Framework 4 abzielen, müssen Sie anderen Code verfassen, um Smarttags und Aktionen zu erstellen. Weitere Informationen finden Sie unter Smarttagarchitektur.

Zunächst muss ein Add-In-Projekt für Word erstellt werden.

So erstellen Sie ein neues Projekt

Visual Studio fügt das My Recipe Smart Tag-Projekt dem Projektmappen-Explorer hinzu.

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 Microsoft.Office.Interop.SmartTag auf der Registerkarte .NET aus, und klicken Sie auf OK. Wählen Sie die 12.0.0.0-Version der Assembly aus.

  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.

    
    using System.Text.RegularExpressions;
    
    
    

Damit das Smarttag Esslöffelmaße finden und umrechnen 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 ThisAddIn_Startup-Ereignishandler in der ThisAddIn-Klasse durch folgenden Code. Durch diesen Code wird ein SmartTag erstellt, das das Smarttag darstellt. Außerdem wird der Liste der Begriffe, die das Smarttag erkennt, ein regulärer Ausdruck hinzugefügt.

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

    
    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. Fügen Sie das Smarttag der VstoSmartTags-Eigenschaft der ThisAddIn-Klasse hinzu. Fügen Sie in C# einen Ereignishandler an das Click-Ereignis der Aktion an.

    
        // Add the smart tag to the document.
        this.VstoSmartTags.Add(SmartTagDemo);
    
        RecipeAction.Click += new Microsoft.Office.Tools.Word.ActionClickEventHandler(
            RecipeAction_Click);
    }
    
    
    

Der Ereignishandler ruft über den Schlüssel tbsNumber, der sich in der Eigenschaftensammlung des Smarttags befindet, den Esslöffelwert ab. Der Ereignishandler rechnet dann die Esslöffelmenge in Ounces um und fügt den Ounceswert in Klammern nach dem Esslöffelwert ein.

Der Schlüssel tbsNumber identifiziert in diesem Beispiel eine Erfassungsgruppe, die anhand des regulären Ausdrucks erfasst wird, der dem Smarttag zugewiesen ist. Weitere Informationen über Eigenschaftensammlungen und reguläre Ausdrücke in Smarttags finden Sie unter Smarttagarchitektur.

So erstellen Sie den Ereignishandler

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

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

Nun können Sie das Dokument testen, um zu überprüfen, ob das Smarttag Esslöffelmaße in Ounces umgerechnet hat.

So testen Sie die Arbeitsmappe

  1. Aktivieren Sie in Word Smarttags.

    Weitere Informationen 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 im Word-Dokument 1 tablespoon salt ein.

  4. Klicken Sie auf das Smarttagsymbol, das über 1 tablespoon angezeigt wird, und klicken Sie dann auf Convert to ounces.

  5. Bestätigen Sie, dass die entsprechende Mengenangabe in Ounces nach der Mengenangabe in Esslöffeln eingefügt wird.

Anzeigen: