
Jika dilihat pada aplikasi-aplikasi yang berjalan di windows, pada bagian userform di pojok atas selalu menampilkan sebuah Icon yang menunjukan identitas dari aplikasi tersebut.
Jika sebelumnya kamu pernah membuat sebuah userform menggunakan VBA Excel, Userform yang ditampilan hanya memiliki sebuah Caption saja tanpa adanya Sebuah Icon seperti yang dimiliki oleh aplikasi-apaliakasi pada umumnya.
Userform yang dibuat dengan VBA Excel Standart akan terlihat seperti pada Gambar diawah ini. Tidak ada Icon pada Userform tersebut.

Lalu bagaimana cara menambahkan Icon ke dalam Userform yang dibuat di VBA Excel?.
Jika kamu mencari pada properties Windows yang di dimiliki Userform kamu tidak akan menemukan sebuah property atau method untuk menambahkan Icon. Ya, kerana Icon ini tidak bisa ditambahkan melalui property Userform.
Agar kamu bisa menambahkan sebuah Icon kedalam Userform, kamu harus menggunakan Windows API yang berfungsi untuk mengirimkan icon ke Userform.
Berikut ini adalah Script Windows API yang digunakan.
Rem Auth : ExcelNoob.com #If VBA7 And Win64 Then Private Declare PtrSafe Function SendMessage Lib "user32.dll" Alias "SendMessageA" _ (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare PtrSafe Function FindWindow Lib "user32.dll" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare PtrSafe Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" _ (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long #Else Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _ (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" _ (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long #End IF Function BuatIcon(caption As String) Dim Hwnd As Long Dim iconPath As String Dim xIcon As Long Dim msg As Long iconPath = "C:\LokasiFile\NamaFile.ico" Hwnd = FindWindow("ThunderDframe", caption) xIcon = ExtractIcon(0, iconPath, 0) SendMessage Hwnd, WM_SETICON, 1, xIcon SendMessage Hwnd, WM_SETICON, 0, xIcon End Function
Copy script diatas ke dalam Module. Untuk penggunaannya cukup mudah, hanya tinggal menambahkan script pada UserForm yang ingin ditambahkan icon pada bagian Event initialize. Untuk Script nya seperti dibawah ini.
Private Sub UserForm_Initialize() BuatIcon Me.caption End Sub
Jika sudah berhasil, Userform akan terlihat seperti dibawah ini, memiliki sebuah icon pada Pojok kanan atas.

Tutorial ini juga bisa di lihat melalui YouTube Jika kamu ingin lebih memahami lagi dalam pengunaan Script diatas. Video tutorial bisa dilihat dibawah ini.
Itulah tutorial bagaimana cara menambahkan icon pada Userform yang dibuat dengan VBA. selamat mencoba
Leave a Reply