Creating Smart Tags in Word 2010 Using VSTO

Posted at : Aug/02/2012
2059 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
XETG
Input code above below (Case Sensitive) :

ABOUT ME

Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Founder & IT Trainer Native Enterprise | MCT (2008-2019) | MVP (2009-2016) | Xamarin Certified Professional | MTA | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.

[Read More...]

TOP DOWNLOAD

Mapping Hak Akses User Pada MenuStrip Sampai Control Button
downloaded 6982 times

Bagaimana caranya menginstal database ketika deploying sebuah aplikasi?
downloaded 4893 times

Simple Voice Engine Application With Sound Player Class...
downloaded 4045 times

Change Group,Sort Order, Filtering By Date in Crystal Reports
downloaded 3460 times

WinForms DataGrid Paging With SqlDataAdapter
downloaded 2881 times


LINKS

CERTIFICATIONS

Xamarin Certified
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench

NATIVE ENTERPRISE

Native Enterprise - IT Training

FOLLOW ME

Youtube  Facebook  Instagram  LinkedIn   Twitter

RSS


NATIVE ENTERPRISE NEWS

© Copyright 2006 - 2024   Rully Yulian MF   All rights reserved.