Hej, Här har du en film som visar just taskpane Tack så väldigt mycket,smart tag och custom pane
Jag vill göra en smarttag i Word, om man markerar ett ord, dyker smart tag:en upp som innehåller några val t.ex. email, description ....
när man väljer ett val då ska den öppnas en Custom pane med specifika funktionaliteter. T.ex. om man väljer email då i Custom pane vissas några textboxar för mottagare, ämne , text och en knapp att skicka.
det är allt jag vill göra
är det möjligt?
bra länkar om hur man gör sin egen custom pane och smarttag.Sv: smart tag och custom pane
http://xpstream.winisp.net/vsto/Video%20Demos/Creating%20a%20Custom%20Task%20Pane.wmv
Smart tags fanns lite info här: http://blogs.msdn.com/pstubbs/archive/2005/02/08/369245.aspx
1. Create a New VSTO Word or Excel Project
2. Add a COM Reference to the Microsoft Smart Tags 2.0 Type Library
3. Create a Class that Inherits from Microsoft.Office.Tools.Word.SmartTags.SmartTag
4. Add Actions which are the menu items that come up
5. Add Recognizers, either RegEx or Text
6. Add the Event Handlers for the click event of the actions
7. Add the SmartTag Instance to the documents VSTOSmartTags Collection
That’s it we are done. We now have SmartTag support in our VSTO document.
Here is the Entire Code for the SmartTag Class. This sample recognizes the “Bug 12345” or “Hello”
<code>
Imports System.Text.RegularExpressions
Imports Microsoft.Office.Tools.Word
Imports Microsoft.Office.Interop.SmartTag
Public Class MySmartTag
Inherits SmartTag
'Declare Actions for the SmartTag
WithEvents OpenMessageBox As Action
WithEvents SayHello As Action
Sub New()
MyBase.New("www.microsoft.com/VSTO#MyFirstSmartTag", "My First VSTO SmartTag")
'Menu Items, Text to display on the SmartTag Menu
OpenMessageBox = New Action("Echo Text to a MessageBox")
SayHello = New Action("Say Hello")
'Add the Actions to the SmartTag
Actions = New Action() {OpenMessageBox, SayHello}
'Create a RegEx recognizer
Expressions.Add(New Regex("[B|b]ug\s\d{5,6}"))
'you can also add exact text matches the same way
Terms.Add("Hello")
End Sub
Protected Overrides Sub Recognize(ByVal text As String, ByVal site As Microsoft.Office.Interop.SmartTag.ISmartTagRecognizerSite, ByVal tokenList As Microsoft.Office.Interop.SmartTag.ISmartTagTokenList)
'Gives you access to the raw tokens as they are being fired
'Can handle advanced dynamic tag recognizers, like looking
'text up in a database for a match
End Sub
Private Sub OpenMessageBox_Click(ByVal sender As Object, ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) Handles OpenMessageBox.Click
'Fire Message Box with the text
MessageBox.Show("The SmartTag recognized is : " & e.Range.Text)
End Sub
Private Sub SayHello_Click(ByVal sender As Object, ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) Handles SayHello.Click
'Set the SmarTag Text
e.Range.Text = "Hello World"
End Sub
End Class
Public Class ThisDocument
Private Sub ThisDocument_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
'Add the SmartTag to the collection on startup
VSTOSmartTags.Add(New MySmartTag())
End Sub
Private Sub ThisDocument_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shutdown
End Sub
End Class
</code>
Sv:smart tag och custom pane
en fråga bara,
probelemt är att jag har inte VS tools for office.
Jag har gjort en smart tag på VS 2005 pro och har följt allt som ligger i denna article:
http://www.codeproject.com/csharp/smarttag.asp
men jag kan inte se min smart tag på Word -> tools -> autocurrent aptions -> smart tag
hur kan man prova om en smart tag fungerar?
t.ex. i artikeln om man skriver något av orden som finns i arrayen "terms", då måste dyka upp en popup liknande menu som innehåller min smart tag?
tack igen