다음을 통해 공유


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
    토큰의 키와 값 쌍이 포함된 속성 모음입니다.nullNull 참조(Visual Basic의 경우 Nothing)일 수 있습니다.

예외

예외 상황
InvalidOperationException

PersistTag는 Recognize 메서드에서 호출되지 않았습니다.

설명

Recognize 메서드의 구현에서 PersistTag를 호출하여 텍스트에서 스마트 태그가 발견되었음을 나타냅니다. 스마트 태그에 대한 모든 사용자 지정 속성을 커밋하려면 propertyBag 매개 변수를 사용합니다. 스마트 태그 바로 가기 메뉴에서 항목을 선택했을 때 수행되는 작업을 사용자 지정할 때 이들 속성을 사용할 수 있습니다.

예제

다음 코드 예제에서는 Recognize 메서드의 구현에서 PersistTag를 호출하는 방법을 보여줍니다. 이 구현에서는 각 스마트 태그 용어를 셀의 내용과 비교합니다. 셀의 각 스마트 태그 용어에 대해 코드에서는 사용자 지정 스마트 태그 속성을 추가한 다음 PersistTag 메서드를 사용하여 스마트 태그를 인식합니다. 이 예제에서는 참조 추가 대화 상자의 .NET 탭에서 Microsoft.Office.Interop.SmartTag에 대한 참조를 추가한 것으로 가정합니다. 이 코드 예제는 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 네임스페이스