Rifai's Blog. Selamat datang kembali ke Blog Sederhana Saya ini, Alhamdulillah pada kesempatan ini Saya bisa menyapa Sobat Blogger semuanya melalui artikel/postingan ini. Tak lupa dan takkan ada bosannya Saya ucapkan terimakasih sebanyak-banyaknya kepada Sobat Blogger semuanya yang sudah mengunjungi Blog Sederhana Saya ini.
Cara Menghilangkan Tombol Close Bawaan Userform VBA Excel
Pada kesempatan ini Saya kan memberikan sebuah informasi sekaligus tutorial sederhana mengenai Macro VBA Excel. Dan yang akan Saya bahas pada kesempatan ini adalah mengenai Cara Untuk Menghilangkan Tombol Close Bawaan Dari Userform Excel.
Ada banyak alasan kenapa kita harus menghilangkan tombol close bawaan dari userform itu sendiri, disini Saya hanya ingin menyampaikan mengenai caranya saja ya Sobat Blogger, mungkin saja apa yang akan Saya sampaikan pada kesempatan ini memang sedang dicari-cari oleh Sobat Blogger semuanya. Dan berikut ini merupakan cara atau pun langkah-langkahnya :
Disini kita akan menggunakan script atau kode untuk menghilangkan tombol close bawaan dari userform itu sendiri, dan script atau pun kode tersebut dibagi menjadi 2 (dua), 1. Script ata kode untuk Windows yang berarsitektur 32 bit dan 64 bit.
1. Script atau kode untuk Windows 32 bit :
a. Kita buat terlebih dahulu sebuah userform melalui halaman Visual Basic Ms. Excelnya;
pada contoh ini Saya membuatnya seperti pada gambar di bawah ini :
b. Kemudian silahkan copy dan pastekan script atau kode di bawah ini kedalam userform yang sudah kita buat tadi :
Option Explicit
'Rifai's Blog
Private Declare Function FindWindow _
Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
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
Const WS_SYSMENU = &H80000
Const GWL_STYLE = (-16)
Dan copy juga script atau kode di bawah ini, lalu paste juga kedalam userform yang kita buat tadi (di bawah script yang di atas)
Private Sub UserForm_Activate()
Dim HWnd, lStyle As Long
HWnd = FindWindow("ThunderDFrame", Me.Caption)
lStyle = GetWindowLong(HWnd, GWL_STYLE)
SetWindowLong HWnd, GWL_STYLE, lStyle And Not WS_SYSMENU
End Sub
1. Script atau kode untuk Windows 64 bit :
Untuk Windows 64 bit caranya sama seperti cara di atas (Windwos 32 bit) yang membedakan adalah script yang pertama atau silahkan gunakan script di bawah ini :
Option Explicit
'Mas Operator : https://www.masoperator.blogspot.com
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function MoveWindow Lib "User32.dll" (ByVal HWnd As LongPtr, ByVal X As LongPtr, ByVal Y As LongPtr, ByVal nWidth As LongPtr, ByVal nHeight As LongPtr, ByVal bRepaint As LongPtr) As LongPtr
Private Declare PtrSafe Function GetWindowLong Lib "User32.dll" Alias "GetWindowLongA" (ByVal HWnd As LongPtr, ByVal nIndex As LongPtr) As Long
Private Declare PtrSafe Function SetWindowLong Lib "User32.dll" Alias "SetWindowLongA" (ByVal HWnd As LongPtr, ByVal nIndex As LongPtr, ByVal dwNewLongPtr As LongPtr) As LongPtr
Private Declare PtrSafe Function SetLayeredWindowAttributes Lib "User32.dll" (ByVal HWnd As LongPtr, ByVal crKey As LongPtr, ByVal bAlpha As Byte, ByVal dwFlags As LongPtr) As LongPtr
Private Declare PtrSafe Function DrawMenuBar Lib "User32.dll" (ByVal HWnd As LongPtr) As LongPtr
Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Declare PtrSafe Function GetDeviceCaps Lib "gdi32" (ByVal hDC As LongPtr, ByVal nIndex As Long) As Long
Private Declare PtrSafe Function ReleaseDC Lib "User32.dll" (ByVal HWnd As LongPtr, ByVal hDC As LongPtr) As LongPtr
Private Declare PtrSafe Function GetDC Lib "user32" (ByVal HWnd As LongPtr) As Long
Private Declare PtrSafe Function SetTimer Lib "user32" (ByVal HWnd As LongPtr, ByVal nIDEvent As LongLong, ByVal uElapse As LongPtr, ByVal lpTimerFunc As LongPtr) As Long
Private Declare PtrSafe Function KillTimer Lib "user32" (ByVal HWnd As LongPtr, ByVal nIDEvent As LongPtr) As Long
Private Declare PtrSafe Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" (ByVal lpFilename As String) As LongPtr
Private Declare PtrSafe Function RemoveFontResource Lib "gdi32" Alias "RemoveFontResourceA" (ByVal lpFilename As String) As LongPtr
Private Declare PtrSafe Function AddFontMemResourceEx Lib "Gdi32.dll" (ByVal pbFont As LongPtr, ByVal cbFont As Integer, ByVal pdv As Integer, ByRef pcFonts As Integer) As LongPtr
Const WS_SYSMENU = &H80000
Const GWL_STYLE = (-16)
dan jangan lupa script di bawah ini juga ya,..
Private Sub UserForm_Activate()
Dim HWnd, lStyle As Long
HWnd = FindWindow("ThunderDFrame", Me.Caption)
lStyle = GetWindowLong(HWnd, GWL_STYLE)
SetWindowLong HWnd, GWL_STYLE, lStyle And Not WS_SYSMENU
End Sub
Sekarang silahkan jalankan userformnya dengan cara tekan tombol F5 pada keyboard atau klik pada tombol play yang ada pada deret menu halaman Visual Basic :
Maka seharusnya akan seperti pada gambar dibawah ini :
0 Comments
Silahkan Tinggalkan Komentar Anda Di Bawah Sini