The following code example shows how to create a smart tag that recognizes the words term and recognize. When you run the project, the recognizer marks the words term and recognize in the document as smart tags. To test the example, type the words term and recognize in different places in the document, and then try the smart tag action. The action modifies the menu caption of the action and displays the location of the text that was recognized.
#Region "Smart Tag Example"
WithEvents DisplayAddress As Microsoft.Office.Tools.Word.Action
Private Sub AddSmartTag()
Dim SmartTagDemo As New _
Microsoft.Office.Tools.Word.SmartTag( _
"www.microsoft.com/Demo#DemoSmartTag", _
"Demonstration Smart Tag")
' Specify the terms to recognize.
SmartTagDemo.Terms.Add("term")
SmartTagDemo.Terms.Add("recognize")
' Create the action.
DisplayAddress = New _
Microsoft.Office.Tools.Word.Action( _
"To be replaced")
' Add the action to the smart tag.
SmartTagDemo.Actions = New _
Microsoft.Office.Tools.Word.Action() { _
DisplayAddress}
' Add the smart tag to the document.
Me.VstoSmartTags.Add(SmartTagDemo)
End Sub
Private Sub OpenMessageBox_BeforeCaptionShow(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
Handles DisplayAddress.BeforeCaptionShow
DisplayAddress.Caption = "Display the location of " & _
e.Text
End Sub
Private Sub DisplayAddress_Click(ByVal sender As Object, _
ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
Handles DisplayAddress.Click
Dim termStart As Integer = e.Range.Start
Dim termEnd As Integer = e.Range.End
MsgBox("The recognized text '" & e.Text & _
"' begins at position " & termStart & _
" and ends at position " & termEnd)
End Sub
#End Region
#region Smart Tag Example
private Microsoft.Office.Tools.Word.Action DisplayAddress;
private void AddSmartTag()
{
Microsoft.Office.Tools.Word.SmartTag SmartTagDemo =
new Microsoft.Office.Tools.Word.SmartTag(
"www.microsoft.com/Demo#DemoSmartTag",
"Demonstration Smart Tag");
// Specify the terms to recognize.
SmartTagDemo.Terms.Add("term");
SmartTagDemo.Terms.Add("recognize");
// Create the action.
DisplayAddress = new Microsoft.Office.Tools.Word.Action(
"To be replaced");
// Add the action to the smart tag.
SmartTagDemo.Actions = new
Microsoft.Office.Tools.Word.Action[] {
DisplayAddress };
// Add the smart tag to the document.
this.VstoSmartTags.Add(SmartTagDemo);
DisplayAddress.BeforeCaptionShow += new
Microsoft.Office.Tools.Word.BeforeCaptionShowEventHandler(
DisplayAddress_BeforeCaptionShow);
DisplayAddress.Click += new
Microsoft.Office.Tools.Word.ActionClickEventHandler(
DisplayAddress_Click);
}
void DisplayAddress_BeforeCaptionShow(object sender,
Microsoft.Office.Tools.Word.ActionEventArgs e)
{
DisplayAddress.Caption = "Display the location of " +
e.Text;
}
void DisplayAddress_Click(object sender,
Microsoft.Office.Tools.Word.ActionEventArgs e)
{
int termStart = e.Range.Start;
int termEnd = e.Range.End;
MessageBox.Show("The recognized text '" + e.Text +
"' begins at position " + termStart.ToString() +
" and ends at position " + termEnd.ToString());
}
#endregion