Cara Membuat Menu Ribbon Enable dan Disable di Microsoft Excel
Memodifikasi menu aplikasi yang kita buat di Microsoft Excel sudah menjadi keharusan, karna aplikasi dapat terlihat menjadi menarik. Sebelumnya saya sudah memberikan artikel tentang bagaimana Cara Membuat Menu Ribbon di Microsoft Excel.
Mungkin sebagian anda pernah melihat/Mendownload aplikasi yang di buat menggunakan aplikasi Delphi, Java, VB6 dll. dimana aplikasi tersebut terdapat menu Ribbon seperti Menu ribbon yang kita buat di Microsoft Excel.
Ketika aplikasi tersebut dibuka, maka anda akan melihat menu icon Ribbon tersebut terlihat agak kabur, dengan kata lain menu ribbon tersebut menjadi disable.
Ketika menu icon tersebut di klik maka icon tersebut tidak aktif.
Kemudian ketika anda berhasil login menggunakan hak akses admin, maka menu icon Ribbon tersebut akan menjadi aktif (enable).
Bagaimana caranya trik tersebut diaplikasikan menggunakan Microsoft Excel.
Silahkan simak langkah-langkah nya Cara Membuat Menu Ribbon Enable dan Disable di Microsoft Excel.
Mungkin sebagian anda pernah melihat/Mendownload aplikasi yang di buat menggunakan aplikasi Delphi, Java, VB6 dll. dimana aplikasi tersebut terdapat menu Ribbon seperti Menu ribbon yang kita buat di Microsoft Excel.
Ketika aplikasi tersebut dibuka, maka anda akan melihat menu icon Ribbon tersebut terlihat agak kabur, dengan kata lain menu ribbon tersebut menjadi disable.
Ketika menu icon tersebut di klik maka icon tersebut tidak aktif.
Kemudian ketika anda berhasil login menggunakan hak akses admin, maka menu icon Ribbon tersebut akan menjadi aktif (enable).
Bagaimana caranya trik tersebut diaplikasikan menggunakan Microsoft Excel.
Silahkan simak langkah-langkah nya Cara Membuat Menu Ribbon Enable dan Disable di Microsoft Excel.
- Pertama: Silahkan anda buka Microsoft Excel -} Tambahkan 2 sheet (Silahkan beri Nama Menu dan Login).
- Kedua: Silahkan buka Tab Developer -} Visual Basic.
- Ketiga: Buat Form Login seperti gambar di bawah ini:
- Selanjutnya silahkan copy paste sintak tombol login di bawah ini.
Private Sub CommandButton1_Click()
On Error Resume Next
Dim Username As String
Dim Password As String
Dim Rowcounter As Integer
Dim Role As String
Set Scr = Sheets("Login")
Set Akunq = Scr.Range("A2:A50")
Set Ws1 = Sheets("Nota")
Set Scr = Sheets("Login")
Set Akunq = Scr.Range("A3:A50")
Username = TextBox1.value
Password = TextBox2.value
'mengecek jika username dan password tidak di isi
If Username = "" Or Password = "" Then
MsgBox "Mohon di isi Username dan Passwordnya ya....", vbInformation, "PESAN"
Exit Sub
End If
'mengecek jika username dan Password di isi
Rowcounter = 2 'karena dimulai pada baris ke 2
Do
If Username = Sheets("Login").Cells(Rowcounter, 1).value Then
If Password = Sheets("Login").Cells(Rowcounter, 2).value Then
Role = Sheets("Login").Cells(Rowcounter, 3).value
MsgBox "Selamat Anda Berhasil Login", vbInformation, "Berhasil"
Ws1.Range("B7").value = TextBox1.value
Exit Do
Else
'cek jika password salah
MsgBox "Password yang dimasukkan salah.....!", vbInformation, "Gagal"
Exit Sub
End If
ElseIf Sheets("Login").Cells(Rowcounter, 1).value = "" Then
'jika username tidak ada atau tidak cocok
MsgBox "Username Salah !, Your username is case-sentive", vbInformation, "Gagal"
Exit Sub
End If
Rowcounter = Rowcounter + 1
Loop
'Sembunyikan sheet sesuai akses username
Select Case (Role):
Case ("Superadmin"):
Sheets("Login").Visible = True
Sheets("PELANGGAN").Visible = True
Sheets("Supplier").Visible = True
Sheets("BARANG").Visible = True
Sheets("Penjualan").Visible = True
Sheets("Pembelian").Visible = True
Sheets("Nota").Visible = True
Sheets("Labarugi").Visible = True
Call RefreshRibbon(Tag:="Akses*")
Case ("User1"):
Sheets("PELANGGAN").Visible = True
Call RefreshRibbon(Tag:="AksesUmum*")
End Select
Unload Me
End Sub
- Keempat: tambahkan 2 buah modul, fungsi dari modul tersebut nantinya untuk membuat perintah disable dan Enable.
- Untuk Modul 1 masukan sintax dibawah ini.
Option Explicit
Sub Login(ribbon As IRibbonControl)
FrmLogin.Show
End Sub
Sub Logout(control As IRibbonControl)
Sheet7.Activate
Sheets("Login").Visible = False
Call RefreshRibbon(Tag:="")
Call RefreshRibbon(Tag:="Login")
MsgBox "Anda Berhasil Logout", vbInformation, ".:: INFO ::."
End Sub
Sub Simpan(control As IRibbonControl)
ThisWorkbook.Save
End Sub
Sub Keluar(control As IRibbonControl)
ThisWorkbook.Save
ThisWorkbook.Close
Sheet7.Activate
Sheets("Login").Visible = False
End Sub
Public Sub preview(control As IRibbonControl)
Application.ActiveSheet.PrintPreview
End Sub
- Untuk Module 2 silahkan masukkan sintax di bawah ini.
Option Explicit
Dim Rib As IRibbonUI
Public MyTag As String
Sub RibbonOnLoad(ribbon As IRibbonUI)
Set Rib = ribbon
Call RefreshRibbon(Tag:="Login")
End Sub
Sub GetEnabled(control As IRibbonControl, ByRef Enabled)
If MyTag = "Enabled" Then
Enabled = True
Else
If control.Tag Like MyTag Then
Enabled = True
Else
Enabled = False
End If
End If
End Sub
Sub RefreshRibbon(Tag As String)
MyTag = Tag
If Rib Is Nothing Then
MsgBox "Ribbon tidak di temukan, silahkan Restart WorkBook ini"
'Biasanya karena pada keluar Userform menggunakan End bukan Unload Me
Else
Rib.Invalidate
End If
End Sub
Sub GetVisible(control As IRibbonControl, ByRef Visible)
If MyTag = "Visible" Then
Visible = True
Else
If control.Tag Like MyTag Then
Visible = True
Else
Visible = False
End If
End If
End Sub
- Di workbooks silahkan copy paste sintax dibawah ini.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'menyembunyikan semua sheet sebelum login
Sheets("Login").Visible = False
End Sub
- Kelima: Silahkan save file anda, selanjutnya buka aplikasi Custom UI, kalau belum ada silahkan download disini.
- Keenam: Silahkan anda download sintak Custom UI disini, selanjutnya copy paste sintax yang anda download tadi.
- Langkah terakhir klik icon validate -} Save
Kelebihan sintak yang dibuat tadi adalah Walaupun macro security Microsoft Excel anda tidak aktif, maka menu ribbon tetap tampil seperti yang anda modif di Custom UI tersebut. Seperti gambar dibawah ini.
Kalau mau file yang sudah jadi, silahkan download di tombol di bawah ini.
Kalau mau file yang sudah jadi, silahkan download di tombol di bawah ini.
jika sya mempunyai 3 sheet dalam 1 group ribbon
BalasHapussheet 1(kelas)
Sheet 2(ipa)
Sheet 3(ips)
maka bagaimna cranya jika sheet 1 diisi IPA jadinya IPS menjadi buram pada ribbon dan tidak berfungsi
dan sebaliknya jika sheet 1 di isi IPS maka IPA tidak berfungsi. apa kah bisa..??