Penambahan smart tags dapat dilakukan terhadap dua level kustomisasi yaitu document level atau application level (Add Ins). Perbedaannya terletak pada saat mengakses dokumen untuk menambahkan smart tags yang dibuat. Penggunaan smart tags ini dapat mempercepat penulisan teks-teks tertentu yang panjang dan berulang-ulang. Pada contoh kali ini saya akan membuatkan contoh pembuatan smart tags di word 2010 untuk kustomisasi dokumen level.
1. Buat sebuah Word 2010 Document project template dari Visual Studio 2010. Berikan nama project tersebut misalnya SmartTagWordDoc.
2. Ketikkan perintah Imports berikut ini untuk mengakses class atau interface berhubungan dengan smart tags.
Pada perintah Imports diatas saya gunakan alias hanya untuk mempermudah pengaksesan member yang terdapat di dalam namespace tersebut.
3. Ketikkan kode berikut ini :
Private Sub action_beforeShow(sender As Object, e As WordTools.ActionEventArgs)
Dim clickAct =
TryCast(sender, WordTools.Action)
If clickAct IsNot Nothing Then
Select Case e.Text.ToLower
Case "rully"
clickAct.Caption =
"Ganti teks menjadi 'Rully Yulian MF, MCAD,MCPD,MOS,MCT,MVP'"
Case "ntv"
clickAct.Caption =
"Ganti teks menjadi 'Native Enterprise-IT Training & Solution Provider'"
End Select
End If
End Sub
Prosedur diatas akan dijalankan pada saat smart tags dijalankan dengan menampilkan menu berupa teks yang sudah kita tentukan.
4. Ketikkan kode berikut ini :
Private Sub action_click(sender As Object, e As WordTools.ActionEventArgs)
If e.Text.ToLower = "rully" Then
e.Range.Text = "Rully Yulian MF, MCAD,MCPD,MOS,MCT,MVP"
ElseIf e.Text.ToLower = "ntv" Then
e.Range.Text = "Native Enterprise-IT Training & IT Solution Provider"
End If
End Sub
Prosedur tersebut akan dijalankan pada saat user klik menu yang muncul pada langkah-3, sehingga nantinya teks tersebut akan diganti sesuai dengan kebutuhan.
5. Kode berikutnya yaitu di ketikkan pada event Startup di dokumen word tersebut.
Private Sub ThisDocument_Startup() Handles Me.Startup
Dim myTag As WordTools.SmartTag =
Globals.Factory.CreateSmartTag("http://yulianmf.com/#WordSmartTagSample",
"Word Smart Tag Sample")
myTag.Terms.AddRange(
New String() {"Rully", "Ntv", "rully", "ntv"})
Dim actApply = Globals.Factory.CreateAction("Judul sementara")
Dim actArray(1) As WordTools.Action
actArray(0) = actApply
myTag.Actions = actArray
AddHandler actApply.BeforeCaptionShow, AddressOf action_beforeShow
AddHandler actApply.Click, AddressOf action_click
Me.VstoSmartTags.Add(myTag)
End Sub
Untuk membuat smart tag langkah pertama yaitu dengan membuat SmartTag interface melalui method Globals.Factory dengan supply input parameter pertama sebagai unique id, sedangkan input parameter kedua sebagai captionnya.
Selanjutnya yaitu menambahkan teks-teks yang akan di filter atau di screening oleh word untuk menentukan kapan smart tags tersebut dapat muncul di dokumen. Teks tersebut ditambahkan melalui Terms object dari interface SmartTag yang digunakan. Tentunya terms tersebut dapat dibuat lebih kompleks dengan menggunakan Regular Expression.
Langkah berikutnya yaitu membuat action dimana event action tersebut nantinya akan dihubungkan dengan event handler yang sudah dibuat sebelumnya pada langkah-3 dan langkah-4. Langkah terakhir yaitu menambahkan custom smart tags kedalam koleksi SmartTags dokumen tersebut.
6. Jalankan aplikasi tersebut dan ketikkan teks berikut ini :

7. Klik kanan teks “Rully” kemudian pilih menu Additional Actions…dan klik menu “Ganti teks menjadi…..”

hasilnya menjadi :

8. Klik kanan teks “ntv” kemudian pilih menu Additional Actions…dan klik menu “Ganti teks menjadi…..”

hasilnya menjadi :

Selamat mencoba :)