Creating Smart Tags in Word 2010 Using VSTO

VSTO , Posted at : Aug/02/2012  
1510 Views   0 Comments

Smart tags merupakan fitur yang terdapat di dalam produk microsoft office seperti Word dan Excel. Fitur tersebut akan melakukan filtering atau screening terhadap teks-teks yang terdapat di dalam dokumen dengan pola tertentu yang sudah ditentukan sehingga nantinya dokumen tersebut dapat memberikan sebuah action untuk melakukan sebuah proses misalnya mengganti teks, mengubah style teks, dll. Teknik penambahan smart tags yang dilakukan terhadap office 2007 sedikit berbeda dengan office 2010, oleh karena itulah saya akan membahasnya disini tanpa menjelaskan pembuatan smart tags di office 2007.

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.

Berikut adalah langkah-langkahnya :

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.

  Imports WordTools = Microsoft.Office.Tools.Word

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 :)


[Comments]

[Write your comment]
Name (required)
Email (required-will not published)
 
Comment

RKZM
Input code above below (Case Sensitive) :
About Me 
Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Microsoft Certified Trainer | IT Trainer at Native Enterprise | IT Consultant | Software Developer | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.
[Read More...]
Top Download 
Mapping Hak Akses User Pada MenuStrip Sampai Control Button : Downloaded 6083 times  
Bagaimana caranya menginstal database ketika deploying sebuah aplikasi? : Downloaded 4689 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 3554 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 3324 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 2706 times  
Links 
Certifications 
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise 
Follow Me 
Facebook   LinkedIn   Twitter
Syndication 
Hosted By 
Native Enterprise News 
© Copyright 2006-2016   Rully Yulian MF   All rights reserved.