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


SmartTagRecognizeContext.PersistTag - метод

Хранит сведения о смарт-теге.

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

Синтаксис

'Декларация
Sub PersistTag ( _
    propertyBag As ISmartTagProperties _
)
void PersistTag(
    ISmartTagProperties propertyBag
)

Параметры

  • propertyBag
    Тип: Microsoft.Office.Interop.SmartTag.ISmartTagProperties
    Пакет свойств, содержащий ключ и пары значений маркера.Может принимать значение nullпустая ссылка (Nothing в Visual Basic).

Исключения

Исключение Условие
InvalidOperationException

Метод PersistTag не был вызван из метода Recognize.

Заметки

Вызовите PersistTag из реализации метода Recognize, чтобы указать, что в тексте был найден смарт-тег. Используйте параметр propertyBag для сохранения настраиваемых свойств смарт-тега. Можно использовать свойства для настройки действия, если выбран элемент контекстного меню смарт-тега.

Примеры

В следующем примере кода показано, как вызвать метод PersistTag из реализации метода Recognize. Эта реализация сравнивает каждый термин смарт-тега с содержимым ячейки. Для каждого выражения смарт-тега в ячейке код добавляет настраиваемое свойство смарт-тега, после чего для распознавания смарт-тега используется метод 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

    ' Determine whether each smart tag term exists in the document text.
    Dim Term As String
    For Each Term In smartTagDemo.Terms

        ' Search the cell text for the first instance of 
        ' the current smart tag term.
        Dim index As Integer = context.CellText.IndexOf(Term, 0)

        If (index >= 0) Then

            ' 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)

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

            ' This implementation only finds the first instance
            ' of a smart tag term in the cell. 
            Exit For
        End If
    Next
End Sub
void ISmartTagExtension.Recognize(string text, ISmartTagRecognizerSite site, 
    ISmartTagTokenList tokenList, SmartTagRecognizeContext context)
{

    // Determine whether each smart tag term exists in the document text.
    foreach (string term in smartTagDemo.Terms)
    {
        // Search the cell text for the first instance of the current smart tag term.
        int index = context.CellText.IndexOf(term, 0);

        if (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(propertyBag);

            // This implementation only finds the first instance of a 
            // smart tag term in the cell. 
            break;
        }
    }
}

Безопасность платформы .NET Framework

См. также

Ссылки

SmartTagRecognizeContext Интерфейс

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