Pada kesempatan ini, saya akan berbagi ilmu tentang Hex Code dan bagaimana cara membuat fungsi untuk mengkonversi Hex Code agar dapat digunakan saat menulis kode VBA.
Hexadecimal Color Code atau lebih dikenal sebagai Hex Color Code adalah kode warna yang penulisannya terdiri dari angka 0-9 dan huruf A-F. Format penulisan Hex Code adalah #rrggbb.
Contoh: #ff0000 akan menghasilkan warna merah dalan Hex Code.
Contoh: rgb(255,0,0) akan menghasilkan warna merah dalan Hex Code.
# /tanda pagar menandakan bahwa kode tersebut adalah Hex Color
rr mewakili warna merah (red)
gg mewakili warna hijau (green)
bb mewakili warna biru (blue)
Jika Anda mengenal format RGB color, tentunya Anda akan punya pemikiran bahwa Hex Code memiliki hubungan dengan RBG Color Format.
Hex Code sangat terkenal dalam dunia pemrograman web, karena dalam penulisan css (Casscading Style Sheet) khusunya berkaitan dengan property color. Berbeda dalam pemrograman VBA khusunya di Microsoft Visual Basic For Applications, kita tidak dapat asal menggunakan Hex Code, misalnya:
Me.nama_object.BackColor="#ff0000"
Hal ini dikarenakan VBA hanya mengenal vbColor serta Hex Code/RGB Color dengan format Long Type Data.
Misalnya:
vbColor:Me.nama_object.BackColor=vbRed
Me.nama_object.BackColor=vbWhite
Me.nama_object.BackColor=vbBlack
Me.nama_object.BackColor=vbGreen
Me.nama_object.BackColor=vbBlue
Me.nama_object.BackColor=vbYellow
Me.nama_object.BackColor=vbMagenta
Me.nama_object.BackColor=vbCyan
Sedangkan untuk menggunakan Hex Code perlu membuat modul fungsi.
Untuk itu, pada saat kita ingin menggunakan Hex Code dalam penulisan kode VBA, maka perlu membuat fungsi konversi dari kode warna Hex Code ke dalam tipe data Long.
Logikanya adalah:
1. Menghilangkan tanda pagar (#), bersifat opsional saat penulisan Hex Code.
2. Memilah mana yang sebagai R, G dan B.
3. Membalikkan format dari RGB ke format BGR.
3. Mengkonversi kedalam tipe data Long Number dengan fungsi CLng().
Langkah-langkah:
1. Buat Module baru dan simpan dengan nama sesuai dengan keinginan Anda, misal HexColor.
2. Copy dan Paste kode yang ada di bawah.
3. Ctrl+S
4. Siap digunakan.
Kode dan penjelasan:
Option Explicit
Public Function HexColor(strHex As String) As Long
'Contoh Penggunaan:
'Me.object_name.BackColor=HexCode("#ff0000")
'Me.Text0.BackColor=HexCode("#ff0000")
'Me.Text0.BorderColor=HexCode("#ff0000")
'Deklarasi variabel
Dim strColor As String
Dim strR As String
Dim strG As String
Dim strB As String
'Menghilangkan tanda pagar (#) jika nilai strHex mengandung tanda pagar, misal: #ffffff
'Jika tidak mengandung tanda (#) secara otomatis langkah ini akan dilewati, misal: ffffff
If Left(strHex, 1) = "#" Then
strHex = Right(strHex, Len(strHex) - 1)
End If
'Memilah mana yang sebagai R, G, dan B dari format Hex Code : #RRGGBB
strR = Left(strHex, 2) strG = Mid(strHex, 3, 2) strB = Right(strHex, 2)
'Membalik format dari RGB ke BGR'Misal dari kode #fa91d3 menjadi #d391fa
strColor = strB & strG & strR
strColor = strB & strG & strR
'Mengkonversi hasil pembalikan "strColor" ke dlama tipe data Long Number
HexColor = CLng("&H" & strColor)
End Function
End Function
Semoga bermnfaat dan selamat Mencoba.
Penulis: Trisna Novi Ashari - Universitas Negeri Semarang '11
No comments:
Post a Comment