Button adalah sebuah fungsi yang sangat penting dalam Ribbon, karena pada tombol inilah kita bisa menyimpan sebuah fungsi untuk dijalankan
Dalam kustomisasi Ribbon Microsoft Office menggunakan XML, elemen digunakan untuk menambahkan tombol pada Ribbon.
Tombol ini dapat dikonfigurasi dengan berbagai atribut yang menentukan tampilan, fungsi, dan interaksi dengan pengguna.
Ada dua jenis Button dalam Custom Ui, ada Button Bawaan Office yang disebut dengan Buton Mso dan Button Custom
Button Mso adalah tombol bawaan yang menggunakan ikon dan fungsi standar dari Microsoft Office. kita dapat menggunakan idMso untuk menampilkan button tersebut.
idMso bisa kita dapatkan melalui Excel Option – Customize Ribbon, dan arahkan kursor pada Button yang ingin diambil idMso nya
Misal jika ingin menggunakan Button Contional Formating maka kita bisa gunakan
<button idMso="ConditionalFormatingMenu"/>
Contoh, disini saya ingin menggunakan Button Bawaan Office untuk Find, Macro Setting dan Save, maka pada XML bisa dibuat seperti berikut
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> <ribbon startFromScratch="true"> <tabs> <tab id="CustomTab" label="vba.co.id"> <group id="Group1" label="Button idMso"> <button idMso="MacroSecurity" /> <button idMso="FindDialogExcel"/> <button idMso="FileSave" /> </group> </tab> </tabs> </ribbon> </customUI>
Dan Hasilnya sebagai berikut:
Button yang ditampilkan masih dalam keadaan default, disini kita juga bisa menggunakan Attribut button agar tampilan dari Button idMso ini bisa di sesuaikan.
Berikut ini adalah Attribut yang tersedia dalam Button
Beberapa atribut yang sering digunakan dalam elemen adalah:
ID | Item ID |
label | Text yang ditampilkan pada Button |
ImageMSO | Icon yang digunakan dari daftar icon Bawaan office |
Image | Icon custom yang bisa ditambahkan pada Button |
onAction | Fungsi VBA yang akan dijalankan saat tombol di klik |
size | Ukuran tombol (“normal” atau “large”) |
enabled | Menentukan apakah tombol aktif atau tidak. |
visible | Menentukan apakah tombol ditampilkan atau tidak. |
supertip | tooltip yang muncul saat mouse diarahkan ke tombol. |
Misalnya pada Button tadi kita ingin ubah text dan juga ukurannya, kita bisa tambahkan attribut kedalam button tersebut. Contoh :
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> <ribbon startFromScratch="true"> <tabs> <tab id="CustomTab" label="vba.co.id"> <group id="Group1" label="Button idMso"> <button idMso="MacroSecurity" label="Setting Macro" size="normal" /> <button idMso="FindDialogExcel" label="Cari" size="large"/> <button idMso="FileSave" label="Simpan" size="large" /> </group> </tab> </tabs> </ribbon> </customUI>
Dan hasilnya sebagai berikut
Attribut bersifat Case sensitive artinya normal dan large pada size harus ditulis sama persis. penulisan Normal (N besar) akan membuat XML error
Button Custom memungkinkan pengguna untuk menggunakan ikon yang diunggah sendiri dan dikaitkan dengan fungsi kustom.
Artinya disini kita akan memembuat button dengan fungsi yang kita buat sendiri
Sintak Dasar Button Custom:
<button id="CustomButton" label="Custom Action" onAction="CustomAction"/>
Agar bisa menggunakan ikon pada button, kita bisa menggunakan Attribut imageMso dan image.
Bedanya, imageMso adalah image yang sudah disediakan oleh Micosoft office sehingga kita tinggal memasukan id nya saja
Sedangkan image adalah gambar yang kita tambahkan sendiri
Contoh disini saya akan membuat custom button misalnya “Input” dengan gambar yang diambil dari Microsoft office maka, XML bisa ditulis
<button id="Custom1" label="Input Data" size="large" imageMso="NewMeetingRequestNumbered" onAction="inputdata"/>
dan hasilnya sebagai berikut:
Jika tombol diklik, kita bisa menghubungkannya ke makro VBA dengan menggunakan atribut onAction, pada XML diatas onAction diisi dengan “inputdata”.
Maka pada Module didalam Excel, kita bisa membuat
Sub inputdata(control As IRibbonControl) MsgBox "Tombol Input diklik!" End Sub
Selain menggunakan imageMso, kita juga bisa menggunakan ikon kustom dengan atribut image:
<button id="Custom1" label="Input Data" size="large" image="namaImage" onAction="inputdata"/>
Tetapi sebelumnya harus menambahkan Image kedalam Editor sebagai sumbernya.
Pada Custom Ui Editor , klik menu Insert – Icon untuk menambahkan gambar.