Ribbon office sampai saat tulisan ini dibuat tidak menyediakan spin button bawaan. Untuk Membuat spin button pada Ribbon Office bisa menggunakan sedikit trik agar terlihat benar benar seperti Spin button.
Disini saya menggunakan 2 buah Button untuk spin button next dan Previos dan juga 1 buah Editbox control untuk menampilkan hasil nilai dari spin button.
Tampilan hasilnya seperti dibawah ini.

Untuk membuat Spin Button pada ribbon, bisa mulai dengan membuat XML pada CustomUI Editor. Buat XML seperti dibawah ini:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="gLoad">
<ribbon>
<tabs>
<tab id="customTab" label="Slip Gaji" insertAfterMso="TabHome">
<group id="customGroup" label="Cetak Slip Gaji">
<box id="box1" boxStyle="vertical">
<box id="box2" boxStyle="horizontal">
<labelControl id="label1" label=" ID "/>
</box>
<box id="box3" boxStyle="horizontal">
<editBox id="Editbox1" maxLength="4" sizeString="xxxxxxx" getText="ambilText"/>
<buttonGroup id="Group1">
<button id="nambah" onAction="onSpin" imageMso="MailMergeGoToPreviousRecord" />
<button id="kurang" onAction="onSpin" imageMso="MailMergeGoToNextRecord" />
</buttonGroup>
</box>
<box id="box4" boxStyle="horizontal">
<editBox id="Editbox2" maxLength="25" sizeString="xxxxxxxxxxxxxxx" getText="ambilNama"/>
</box>
</box>
<separator id="Pemisah1"/>
<button id="print" label="Cetak" size="large" onAction="cetakSlip" imageMso="FilePrint" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
Agar XML diatas bisa bekerja tambahkan juga script VBA dibawah ini untuk menjalankan aksi Button nya.
Public g_rbn As IRibbonUI
Public g_spinv As Long
Public Sub ambilText(control As IRibbonControl, ByRef nilaiBalik)
g_spinv = Sheet2.Range("F1").Value
nilaiBalik = g_spinv
End Sub
Public Sub ambilNama(control As IRibbonControl, ByRef nilaiBalik)
nilaiBalik = Sheet2.Range("E1").Value
End Sub
Public Sub onSpin(control As IRibbonControl)
If control.ID = "nambah" Then
g_spinv = g_spinv - 1
Else
g_spinv = g_spinv + 1
End If
Sheet2.Range("F1").Value = g_spinv
g_rbn.InvalidateControl "Editbox1"
g_rbn.InvalidateControl "Editbox2"
End Sub
Public Sub gLoad(Ribbon As IRibbonUI)
Set g_rbn = Ribbon
End Sub
Public Sub cetakSlip(control As IRibbonControl)
'Sheet2.PrintOut
MsgBox "tercetak"
End Sub
Untuk penjelasan lebih detail bisa lihat pada tutorial di Youtube.
Download File : [download id=”846″]