Menghilangkan (Hidden) Windows Title Bar Pada Userform VBA Ms. Excel
Assalamu'alaikum Wr. Wb.
Salam sejahtera untuk kita semua, selamat datang kembali ke Blog Sederhana Saya ini (Mas Operator), pada kesempatan kali ini Saya akan membagikan sebuah informasi mengenai Cara Menghilangkan (Hidden) Windows Title Bar Pada Userform VBA Ms. Excel.
Mungkin diantara pengunjung Blog Saya ini masih banyak yang bingung mengenai maksud dari judul Postingan Saya kali ini, berikut Saya berikan gambarannya :
![]() |
Gambar 1 |
![]() |
Gambar 2 |
Perhatikan gambar di atas, pada gambar 1 menunjukkan masih terdapat title bar dari Userformnya, sedangkan pada gambar 2 sudah tidak ada lagi title bar dari userformnya.
Catatan : Sebaiknya sediakan sebuah tombol untuk keluar dari userform menggunakan commandbutton atau pun yang lainnya, hal ini dikarenakan kita tidak bisa menutup/keluar dari userform tersebut, ya karena title bar yang terdapat tombol close sudah tidak ada lagi.
Dan berikut merupakan scriptnya :
1. Sisipkan sebuah Module Pada Project VBA Excelnya, beri nama module tersebut (tidak wajib)
2. Silahkan Copas Srcipt di bawah ini kedalam module tersebut :
Option Explicit
#If VBA7 Then
Public Declare PtrSafe Function FindWindow Lib "user32" _
Alias "FindWindowA" _ (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Public Declare PtrSafe Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Public Declare PtrSafe Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Declare PtrSafe Function DrawMenuBar Lib "user32" _
(ByVal hWnd As Long) As Long
#Else
Public Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Public Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long
#End If
Sub HideBar(frm As Object)
Dim Style As Long, Menu As Long, hWndForm As Long
hWndForm = FindWindow("ThunderDFrame", frm.Caption)
Style = GetWindowLong(hWndForm, &HFFF0)
Style = Style And Not &HC00000
SetWindowLong hWndForm, &HFFF0, Style
DrawMenuBar hWndForm
End Sub
#If VBA7 Then
Public Declare PtrSafe Function FindWindow Lib "user32" _
Alias "FindWindowA" _ (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Public Declare PtrSafe Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Public Declare PtrSafe Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Declare PtrSafe Function DrawMenuBar Lib "user32" _
(ByVal hWnd As Long) As Long
#Else
Public Declare Function FindWindow Lib "user32" _
Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Public Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "user32" _
(ByVal hwnd As Long) As Long
#End If
Sub HideBar(frm As Object)
Dim Style As Long, Menu As Long, hWndForm As Long
hWndForm = FindWindow("ThunderDFrame", frm.Caption)
Style = GetWindowLong(hWndForm, &HFFF0)
Style = Style And Not &HC00000
SetWindowLong hWndForm, &HFFF0, Style
DrawMenuBar hWndForm
End Sub
3. Kemudian silahkan Masukkan Code berikut ini kedalam Userform yang ingin kita hilangkan title bar nya :
4. Silahkan tekan f5 atau jalankan maka hasilnya adalah seperti pada contoh di atas (gambar 2)
Kemudian untuk membuat tombol keluarnya silahkan buat sebuah tombol menggunakan CommandButton atau lainyya, pada contoh ini Saya menggunakan Commandbutton, kemudian Sya beri nama commandbutton tersebut dengan cmdKeluar. Selanjutnya adalah double klik pada cmdKeluar tersebut, dan copas kode di bawah ini :
Private Sub UserForm_Initialize()
HideBar Me
End Sub
HideBar Me
End Sub
4. Silahkan tekan f5 atau jalankan maka hasilnya adalah seperti pada contoh di atas (gambar 2)
Kemudian untuk membuat tombol keluarnya silahkan buat sebuah tombol menggunakan CommandButton atau lainyya, pada contoh ini Saya menggunakan Commandbutton, kemudian Sya beri nama commandbutton tersebut dengan cmdKeluar. Selanjutnya adalah double klik pada cmdKeluar tersebut, dan copas kode di bawah ini :
Private Sub cmdKeluar_Click()
If MsgBox("Anda yakin ingin keluar???", vbInformation + vbYesNo, ".:Konfirmasi:.") = vbYes Then
Unload Me
End If
End Sub
If MsgBox("Anda yakin ingin keluar???", vbInformation + vbYesNo, ".:Konfirmasi:.") = vbYes Then
Unload Me
End If
End Sub
Demikian mengenai cara Menghilangkan (Hidden) Windows Title Bar Userform VBA Ms. Excel, semoga apa yang sudah saya sampaikan pada kesempatan kali ini bisa bermanfaat untuk kita semua. Terimakasih dan Wassalamu'alaikum Wr. Wb.
Salaam Operator Sekolah!!!!
Salaam Operator Sekolah!!!!
Untuk script pertama fungsinya untuk apa ya?
ReplyDeleteItu Script API mas,.. dan sepertinya itu berlaku untuk windows berarsitektur 32bit
Delete