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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.