Aplikasi Excelku. Selamat datang kembali di blog sederhana Saya ini, terimakasih Saya ucapkan sebanyak-banyaknya kepada Anda semuanya yang sudah mengunjungi blog sederhana Saya ini, pada kesempatan kali ini kembali Saya akan memberikan sebuah tutorial mengenai VBA Excel.
Sebelumnya juga Saya pernah membuat artikel dengan judul Menghilangkan Tombol Close (X) Pada Userform VBA Excel, dan pada kesempatan ini melalui artikel ini Saya akan kembali berbagi tutorial yang sama, namun ada perbedaan dengan artikel/postingan Saya yang sebelumnya, dan menurut Saya tutorial ini lebih sederhana dan lebih mudah untuk dilakukan.
Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2)
Berikut ini cara atau pun langkah-langkahnya :
A. Membuat/Menyisipkan Userform
1. Pada lembar kerja Aplikasi Excel kita klik pada tab menu Developer, kemudian klik lagi pada Visual Basic, dan jika pada lembar kerja Aplikasi Excel Sobat Blogger tidak ada silahkan baca artikel/postingan Saya sebelumnya tentang Bagaimana Cara Untuk Memunculkan Tab Developer Di Excel. Atau bisa juga dengan cara menekan kombinasi tombol ALT+F11 pada keyboard :
B. Membuat/Menyisipkan CommandButton
C. Menyisipkan Kode/Script Macro
Selanjutnya copy dan paste kode/script Macro di bawah ini kedalam Module yang sudah kita sisipkan tadi :
Option ExplicitJika sudah, silahkan tutup terlebih dahulu module tadi, dan kembali pada tampilan Userform.
'https://aplikasiexcelku.blogspot.com
Private Const GWL_STYLE = -16
Private Const WS_CAPTION = &HC00000
Private Const WS_SYSMENU = &H80000
Private Const SC_CLOSE = &HF060
#If VBA7 Then
Private Declare PtrSafe Function GetWindowLong _
Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetWindowLong _
Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare PtrSafe Function DrawMenuBar _
Lib "user32" (ByVal hWnd As Long) As Long
Private Declare PtrSafe Function FindWindowA _
Lib "user32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function DeleteMenu _
Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As Long
Private Declare PtrSafe Function GetSystemMenu _
Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
#Else
Private Declare Function GetWindowLong _
Lib "user32" Alias "GetWindowLongA" ( _
ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong _
Lib "user32" Alias "SetWindowLongA" ( _
ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar _
Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindowA _
Lib "user32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function DeleteMenu _
Lib "user32" (ByVal hMenu As Long, _
ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Declare Function GetSystemMenu _
Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
#End If
Public Sub SystemButtonSettings(frm As Object, show As Boolean)
Dim windowStyle As Long
Dim windowHandle As Long
windowHandle = FindWindowA(vbNullString, frm.Caption)
windowStyle = GetWindowLong(windowHandle, GWL_STYLE)
If show = False Then
SetWindowLong windowHandle, GWL_STYLE, (windowStyle And Not WS_SYSMENU)
Else
SetWindowLong windowHandle, GWL_STYLE, (windowStyle + WS_SYSMENU)
End If
DrawMenuBar (windowHandle)
End Sub
Public Sub CloseButtonSettings(frm As Object, show As Boolean)
Dim windowHandle As Long
Dim menuHandle As Long
windowHandle = FindWindowA(vbNullString, frm.Caption)
If show = True Then
menuHandle = GetSystemMenu(windowHandle, 1)
Else
menuHandle = GetSystemMenu(windowHandle, 0)
DeleteMenu menuHandle, SC_CLOSE, 0&
End If
End Sub
Private Sub UserForm_Initialize()
'https://aplikasiexcelku.blogspot.com
Call SystemButtonSettings(Me, False)
End Sub
Private Sub CommandButton1_Click()
'https://aplikasiexcelku.blogspot.com
If MsgBox("Apakah Anda Yakin Ingin Keluar??!!", vbInformation + vbYesNo, ".:Konfirmasi:.") = vbYes Then
Unload Me
End If
End Sub
Seperti yang ditampilkan pada gambar animasi di atas, pada Userform sudah tidak ada lagi tombol CLOSE bawaannya, dan untuk menutup Userform bisa menggunakan CommandButton. Bagi Sobat Blogger yang ingin mengunduh contoh filenya silahkan unduh melalui link di bawah ini :
Download Sample File Hidden CLose Button Userform VBA Excel - Mediafire
Download Sample File Hidden CLose Button Userform VBA Excel - Box
Demikian artikel mengenai Menghilangkan Tombol Close (X) Pada Userform VBA Excel (Versi2), mudah-mudahan apa yang sudah Saya sampaikan pada kesempatan kali ini bisa bermanfaat untuk kita semuanya. Sekian, terimakasih, dan selamat mencoba.
untuk user 64 bit bagaimana gan
ReplyDeleteini bisa untuk 32 dan 64 bit Mas,.. :)
Delete