Freigeben über


Smarttagarchitektur

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.

Projekte auf Dokumentebene

  • Excel 2003

  • Excel 2007

  • Word 2003

  • Word 2007

Projekte auf Anwendungsebene

  • Excel 2007

  • Word 2007

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

Visual Studio Tools for Office bietet ein flexibles Smarttagobjektmodell, mit dem Sie Microsoft Office Word-Dokumenten und Microsoft Office Excel-Arbeitsmappen rasch Smarttags hinzufügen können. Für erweiterte Szenarios können Sie auch eigene Smarttagerkennungen erstellen und auf Daten zugreifen, die in dem Smarttag gespeichert sind.

Weitere Informationen zu Visual Studio Tools for Office-Smarttags finden Sie unter Übersicht über Smarttags.

Übersicht über das Objektmodell

Das Objektmodell für Visual Studio Tools for Office-Smarttags stellt für Smarttags und die Aktionen, die Smarttags ausführen, separate Klassen zur Verfügung. Codebeispiele, in denen das Hinzufügen von Visual Studio Tools for Office-Smarttags zu Dokumenten veranschaulicht wird, finden Sie unter Gewusst wie: Hinzufügen von Smarttags zu Word-Dokumenten und unter Gewusst wie: Hinzufügen von Smarttags zu Excel-Arbeitsmappen.

Smarttags

Ein Visual Studio Tools for Office-Smarttag ist eine Instanz einer beliebigen Klasse, die sich von der abstrakten SmartTagBase-Klasse ableitet. Visual Studio Tools for Office beinhaltet zwei Klassen, die die abstrakte SmartTagBase-Klasse implementieren: die Microsoft.Office.Tools.Word.SmartTag-Klasse und die Microsoft.Office.Tools.Excel.SmartTag-Klasse. Auch wenn Sie eine eigene Smarttagerkennung benötigen, können Sie Instanzen dieser Klassen verwenden, wenn Sie dem Dokument Smarttags hinzufügen.

Die SmartTagBase-Klasse stellt die folgenden Features bereit:

  • Die Terms-Eigenschaft und die Expressions-Eigenschaft, die die bekannten Ausdrücke für das Smarttag enthalten. Um eine einfache Zeichenfolge anzugeben, fügen Sie die Zeichenfolge der Terms-Eigenschaft hinzu. Um eine komplexe Zeichenfolge anzugeben, fügen Sie der Expressions-Eigenschaft einen regulären Ausdruck hinzu, der die Zeichenfolge beschreibt.

  • Die Actions-Eigenschaft, die die auszuführenden Aktionen enthält, wenn der Benutzer das Smarttag auswählt.

  • Eine Smarttag-Standarderkennung, die die Benutzereingaben mit dem Inhalt der Terms-Eigenschaft und der Expressions-Eigenschaft vergleicht.

Aktionen

Wenn der Benutzer das Smarttag auswählt, kann er eine oder mehrere Aktionen ausführen, die speziell für das Smarttag gelten. Jede Aktion wird durch eine Instanz der Microsoft.Office.Tools.Word.Action-Klasse oder der Microsoft.Office.Tools.Excel.Action-Klasse dargestellt. Diese Klassen stellen das BeforeCaptionShow-Ereignis und das Click-Ereignis bereit:

  • Das Auslösen des BeforeCaptionShow-Ereignisses erfolgt unmittelbar nach dem Klicken des Benutzers auf das Smarttagsymbol, jedoch vor dem Anzeigen des Smarttagmenüs. Behandeln Sie dieses Ereignis, wenn Sie den Aktionstitel im Smarttagmenü zur Laufzeit ändern möchten.

  • Das Click-Ereignis wird ausgelöst, wenn der Benutzer auf den Aktionstitel im Smarttagmenü klickt. Behandeln Sie dieses Ereignis, um Code auszuführen, wenn der Benutzer auf die Aktion klickt.

Die Ereignishandler für diese Ereignisse empfangen ein Microsoft.Office.Tools.Excel.ActionEventArgs (für Excel) oder ein Microsoft.Office.Tools.Word.ActionEventArgs (für Word), das den Zugriff auf den erkannten Text und die Position des Texts ermöglicht.

Standard-Texterkennungsverhalten

Wenn ein Benutzer Text in ein Dokument oder eine Arbeitsmappe eingibt, wird in Word und Excel aus dem Text eine Liste von Token erstellt. Die Smarttag-Standarderkennung in der SmartTagBase-Klasse nimmt diese Tokenliste und den vollständigen, vom Benutzer eingegebenen Text entgegen. Damit die Standarderkennung ein Smarttag identifiziert, muss eine der folgenden Bedingungen erfüllt sein:

  • Eine der Zeichenfolgen in der Terms-Eigenschaft stimmt mit einem der Token im Dokument bzw. in der Arbeitsmappe überein.

  • Einer der regulären Ausdrücke in der Expressions-Eigenschaft stimmt mit eine Passage im vollständigen, vom Benutzer eingegebenen Text überein.

Word und Excel analysieren während der Benutzereingabe Zeichenfolgen mit Leerzeichen oder Zeichenfolgen, in denen Buchstaben, Zahlen und Symbole kombiniert sind, und erstellen daraus einzelne Token. Wenn der Benutzer z. B. "Verkaufsbericht Januar" eingibt, erstellen Word und Excel die Token "Verkaufsbericht" und "Januar". Entsprechend werden bei der Eingabe von "2005sales" von Word und Excel die Token "2005" und "sales" erstellt.

Wenn mit dem Smarttag eine Zeichenfolge mit Leerzeichen oder mit einer Kombination aus Buchstaben, Zahlen und Symbolen erkannt werden soll, fügen Sie die entsprechende Zeichenfolge nicht der Terms-Eigenschaft hinzu. Fügen Sie stattdessen der Expressions-Eigenschaft einen regulären Ausdruck hinzu, der die Zeichenfolge beschreibt, oder erstellen Sie eine eigene Erkennung, mit der nach der Zeichenfolge gesucht wird.

Erstellen von Smarttagerkennungen

Leiten Sie zum Erstellen einer eigenen Smarttagerkennung eine neue Klasse von SmartTagBase, Microsoft.Office.Tools.Word.SmartTag oder Microsoft.Office.Tools.Excel.SmartTag ab, und überschreiben Sie die Recognize-Methode.

In der Implementierung von Recognize müssen Sie den Text für Smarttagbegriffe suchen und das Smarttag manuell in Word oder Excel registrieren, falls ein Smarttagbegriff gefunden wird. Beispiele für das Erstellen von Erkennungen für Visual Studio Tools for Office-Smarttags finden Sie unter Gewusst wie: Erstellen von Smarttags mit benutzerdefinierten Erkennungen in Word und unter Gewusst wie: Erstellen von Smarttags mit benutzerdefinierten Erkennungen in Excel.

Der Vorgang der manuellen Smarttagregistrierung ist abhängig von der Smarttagklasse, von der Sie abgeleitet haben. In der folgenden Tabelle werden die verschiedenen Optionen für das Registrieren von Smarttags aufgelistet.

Klasse, von der Sie ableiten

Wie das Smarttag registriert wird

Microsoft.Office.Tools.Word.SmartTag

Rufen Sie die SmartTag.PersistTag-Methode auf.

Microsoft.Office.Tools.Excel.SmartTag

Rufen Sie die SmartTag.PersistTag-Methode auf.

SmartTagBase

Rufen Sie die CommitSmartTag-Methode des site-Parameters der Recognize-Methode auf.

Der site-Parameter ist ein Objekt, das die ISmartTagRecognizerSite-Schnittstelle implementiert. Diese Schnittstelle steht Ihnen zu Verfügung, wenn Sie dem Projekt einen Verweis auf die Microsoft Smart Tags 2.0-Typbibliothek hinzufügen. Weitere Informationen finden Sie in der Smarttag-SDK-Dokumentation in der MSDN Library.

Speichern und Abrufen von Daten in der Eigenschaftensammlung

Smarttags können Daten in einer Auflistung von Schlüssel-Wert-Paaren speichern, die als Eigenschaftensammlung bezeichnet wird. Jeder Wert und jeder Schlüssel in der Eigenschaftensammlung ist eine Zeichenfolge.

Visual Studio Tools for Office-Smarttags bieten zwei Möglichkeiten, auf die Eigenschaftensammlung zuzugreifen:

Beispiele für das Schreiben und Lesen in der Eigenschaftensammlung finden Sie unter Gewusst wie: Erstellen von Smarttags mit benutzerdefinierten Erkennungen in Word und unter Gewusst wie: Erstellen von Smarttags mit benutzerdefinierten Erkennungen in Excel.

Reguläre Ausdrücke und die Eigenschaftensammlung

Wenn Sie dem Visual Studio Tools for Office-Smarttag einen regulären Ausdruck zuweisen, fügt die Standarderkennung der Eigenschaftensammlung des Smarttags für jede erfasste Gruppe des regulären Ausdrucks ein Schlüssel-Wert-Paar hinzu.

Ein Beispiel, in dem dieses Verhalten veranschaulicht wird, finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Smarttags mit einer Anpassung auf Dokumentebene. Weitere Informationen über erfasste Gruppen in regulären Ausdrücken finden Sie unter Gruppierungskonstrukte und unter Klassen regulärer Ausdrücke.

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 einer Anpassung auf Dokumentebene

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

Konzepte

Übersicht über Smarttags