Поделиться через


ISmartTagExtension.Recognize - метод

Выполняет поиск распознанных терминов в тексте ячейки.

Пространство имен:  Microsoft.Office.Tools.Excel
Сборка:  Microsoft.Office.Tools.Excel (в Microsoft.Office.Tools.Excel.dll)

Синтаксис

'Декларация
Sub Recognize ( _
    text As String, _
    site As ISmartTagRecognizerSite, _
    tokenList As ISmartTagTokenList, _
    context As SmartTagRecognizeContext _
)
void Recognize(
    string text,
    ISmartTagRecognizerSite site,
    ISmartTagTokenList tokenList,
    SmartTagRecognizeContext context
)

Параметры

  • text
    Тип: System.String
    Текст, в котором необходимо произвести поиск распознанных терминов.
  • site
    Тип: Microsoft.Office.Interop.SmartTag.ISmartTagRecognizerSite
    Расположение текста в книге или документе.
  • tokenList
    Тип: Microsoft.Office.Interop.SmartTag.ISmartTagTokenList
    Текст, в котором необходимо произвести поиск распознанных терминов, разбитый на список лексем.
  • context
    Тип: Microsoft.Office.Tools.Excel.SmartTagRecognizeContext
    ОБъект, предоставляющий текст из ячейки, которая была передана распознавателю, и метод, вызываемый для указания того, что обнаружен смарт-тег.

Заметки

Этот метод вызывается Среда выполнения Visual Studio Tools for Office для поиска терминов в тексте. Применяйте этот метод, если требуется применить собственные алгоритма поиска в дополнение к стандартным распознавателям.

Примеры

В следующем примере кода демонстрируется реализация метода Recognize. Реализация метода сравнивает каждый термин смарт-тега с содержимым ячейки листа Microsoft Office Excel. Если в ячейке найден термин смарт-тега, код добавляет пользовательское свойство к смарт-тегу и затем вызывает метод PersistTag для распознавания смарт-тега. В этом примере предполагается, что ссылка на Microsoft.Office.Interop.SmartTag с вкладки .NET диалогового окна Добавить ссылку уже добавлена. Данный пример кода является частью большего примера, приведенного для интерфейса ISmartTagExtension.

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

См. также

Ссылки

ISmartTagExtension Интерфейс

Microsoft.Office.Tools.Excel - пространство имен