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
要用來搜尋認識之詞彙的文字,拆解為語彙基元 (Token) 的清單。
- context
型別:Microsoft.Office.Tools.Excel.SmartTagRecognizeContext
可提供儲存格文字的物件,而此文字會傳送至辨識器以及您可以呼叫的方法,表示已找到智慧標籤。
備註
Visual Studio Tools for Office Runtime 會呼叫這個方法來搜尋文字,以找出認識的詞彙。 除了標準的辨識器之外,如果您還想要加入自己的搜尋演算法,請實作這個方法。
範例
下列程式碼範例將示範如何實作 Recognize 方法。 這個實作會比較每個智慧標籤詞彙和 Microsoft Office Excel 工作表中儲存格的內容。 如果在儲存格中找到智慧標籤詞彙,程式碼會將自訂智慧標籤屬性加入至智慧標籤,然後呼叫 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
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 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。