SmartTag.PersistTag-Methode (Int32, Int32, ) (2007 System)
Aktualisiert: November 2007
Speichert Informationen zum Smarttag.
Namespace: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word.v9.0 (in Microsoft.Office.Tools.Word.v9.0.dll)
Syntax
'Declaration
Protected Sub PersistTag ( _
startIndex As Integer, _
length As Integer, _
propertyBag As ISmartTagProperties _
)
'Usage
Dim startIndex As Integer
Dim length As Integer
Dim propertyBag As ISmartTagProperties
Me.PersistTag(startIndex, length, _
propertyBag)
protected void PersistTag(
int startIndex,
int length,
ISmartTagProperties propertyBag
)
Parameter
startIndex
Typ: System.Int32Die Position im Absatz, an der das Smarttag beginnt.
length
Typ: System.Int32Die Länge des Smarttags.
propertyBag
Typ: ISmartTagPropertiesEine Eigenschaftensammlung, die Schlüssel-Wert-Paare für das Token enthält. Kann nullNULL-Verweis (Nothing in Visual Basic) sein.
Ausnahmen
Ausnahme | Bedingung |
---|---|
InvalidOperationException | PersistTag(Int32, Int32, ISmartTagProperties) wurde nicht von Recognize aufgerufen. |
Hinweise
PersistTag(Int32, Int32, ISmartTagProperties) führt einen Commit für das Tag aus, das erkannt wird. Führen Sie den Aufruf von der Recognize-Methode aus, um anzugeben, dass das Smarttag im Text gefunden wurde. Verwenden Sie den propertyBag-Parameter, um für beliebige benutzerdefinierte Eigenschaften für das Smarttag einen Commit auszuführen. Sie können die Aktion mit diesen Eigenschaften anpassen, wenn ein Element aus dem Kontextmenü des Smarttags ausgewählt wird.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die Recognize-Methode innerhalb einer Klasse überschrieben wird, die von Microsoft.Office.Tools.Word.SmartTag abgeleitet ist. Bei dieser Implementierung von Recognize wird jeder Smarttagbegriff mit dem Inhalt des Absatzes verglichen. Im Code wird für jeden Smarttagbegriff im Absatz eine benutzerdefinierte Smarttageigenschaft hinzugefügt, und dann wird die PersistTag(Int32, Int32, ISmartTagProperties)-Methode zum Erkennen des Smarttags verwendet. In diesem Beispiel wird davon ausgegangen, dass Sie im Dialogfeld Verweis hinzufügen auf der Registerkarte COM einen Verweis auf die Microsoft Smart Tags 2.0-Typbibliothek hinzugefügt haben. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels, das sich auf die SmartTag-Klasse bezieht.
Protected Overrides Sub Recognize(ByVal text As String, _
ByVal site As ISmartTagRecognizerSite, _
ByVal tokenList As ISmartTagTokenList)
' Determine whether each smart tag term exists in
' the document text.
Dim Term As String
For Each Term In Me.Terms
' Search the text for the current smart tag term.
Dim index As Integer = Me.ParagraphText.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)
' Attach the smart tag to the term in the document
Me.PersistTag(index, Term.Length, propertyBag)
' Increment the index and then find the next
' instance of the smart tag term.
index += Term.Length
index = ParagraphText.IndexOf(Term, index)
End While
Next
End Sub
protected override void Recognize(string text,
ISmartTagRecognizerSite site, ISmartTagTokenList tokenList)
{
foreach (string term in this.Terms)
{
// Search the text for the current smart tag term.
int index = this.ParagraphText.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
this.PersistTag(index, term.Length, propertyBag);
// Increment the index and then find the next
// instance of the smart tag term.
index += term.Length;
index = ParagraphText.IndexOf(term, index);
}
}
}
Berechtigungen
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.