Freigeben über


ISmartTagExtension.Recognize-Methode

Durchsucht den Text des Dokuments nach erkannten Begriffen.

Namespace:  Microsoft.Office.Tools.Word
Assembly:  Microsoft.Office.Tools.Word (in Microsoft.Office.Tools.Word.dll)

Syntax

'Declaration
Sub Recognize ( _
    text As String, _
    site As ISmartTagRecognizerSite, _
    tokenList As ISmartTagTokenList, _
    context As SmartTagRecognizeContext _
)
void Recognize(
    string text,
    ISmartTagRecognizerSite site,
    ISmartTagTokenList tokenList,
    SmartTagRecognizeContext context
)

Parameter

  • text
    Typ: System.String
    Der nach erkannten Begriffen zu durchsuchende Text.
  • site
    Typ: Microsoft.Office.Interop.SmartTag.ISmartTagRecognizerSite
    Die Position des Texts in der Arbeitsmappe oder dem Dokument.
  • tokenList
    Typ: Microsoft.Office.Interop.SmartTag.ISmartTagTokenList
    Der nach erkannten Begriffen zu durchsuchende Text, gegliedert in eine Liste von Tokens.

Hinweise

Diese Methode wird von der Visual Studio Tools for Office-Laufzeit aufgerufen, um Text nach erkannten Begriffen zu durchsuchen. Implementieren Sie diese Methode, wenn Sie die Standarderkennung durch eigene Suchalgorithmen erweitern möchten.

Beispiele

Im folgenden Codebeispiel wird das Implementieren der Recognize-Methode veranschaulicht. Bei dieser Implementierung wird jeder Smarttagbegriff mit dem Inhalt des Absatzes verglichen. Im Code wird für jeden Smarttagbegriff im Absatz eine benutzerdefinierte Smarttageigenschaft hinzugefügt, und dann wird die PersistTag-Methode zum Erkennen des Smarttags verwendet. In diesem Beispiel wird davon ausgegangen, dass Sie von der Registerkarte .NET im Dialogfeld Verweis hinzufügen einen Verweis auf Microsoft.Office.Interop.SmartTag hinzugefügt haben. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die ISmartTagExtension-Schnittstelle.

Private Sub Recognize(ByVal text As String,
    ByVal site As ISmartTagRecognizerSite,
    ByVal tokenList As ISmartTagTokenList,
    ByVal context As SmartTagRecognizeContext) Implements ISmartTagExtension.Recognize

    For Each term As String In smartTagDemo.Terms
        ' Search the text for the current smart tag term.
        Dim index As Integer = text.IndexOf(term, 0)

        While (index >= 0)
            ' Create a smart tag token and a property bag for the recognized term.
            Dim propertyBag As ISmartTagProperties = site.GetNewPropertyBag()

            ' Write a new property value.
            Dim key As String = "Key1"
            propertyBag.Write(key, DateTime.Now.ToString())

            ' Attach the smart tag to the term in the document
            context.PersistTag(index, term.Length, propertyBag)

            ' Increment the index and then find the next instance of the smart tag term.
            index += term.Length
            index = text.IndexOf(term, index)
        End While
    Next
End Sub
void ISmartTagExtension.Recognize(string text, ISmartTagRecognizerSite site, ISmartTagTokenList tokenList, 
    SmartTagRecognizeContext context)
{

    foreach (string term in smartTagDemo.Terms)
    {
        // Search the text for the current smart tag term.
        int index = text.IndexOf(term, 0);

        while (index >= 0)
        {
            // Create a smart tag token and a property bag for the recognized term.
            ISmartTagProperties propertyBag = site.GetNewPropertyBag();

            // Write a new property value.
            string key = "Key1";
            propertyBag.Write(key, DateTime.Now.ToString());

            // Attach the smart tag to the term in the document
            context.PersistTag(index, term.Length, propertyBag);

            // Increment the index and then find the next instance of the smart tag term.
            index += term.Length;
            index = text.IndexOf(term, index);
        }
    }
}

.NET Framework-Sicherheit

Siehe auch

Referenz

ISmartTagExtension Schnittstelle

Microsoft.Office.Tools.Word-Namespace