Thêm nút Minimize vào userform - VBA excel

Bạn có một UserForm và bạn muốn cho phép người dùng có thể thu nhỏ như họ có thể làm với hầu hết các ứng dụng.
Cách làm như sau:
- Mở trình soạn thảo VBA của excel.
- Tạo một module bằng cách vào insert > Module
- paste đoạn code dưới đây vào module mới tạo.
Private Declare Function FindWindowA Lib "USER32" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare Function GetWindowLongA Lib "USER32" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long

Private Declare Function SetWindowLongA Lib "USER32" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Option Explicit

Sub FormatUserForm(UserFormCaption As String)

Dim hWnd As Long
Dim exLong As Long

hWnd = FindWindowA(vbNullString, UserFormCaption)
exLong = GetWindowLongA(hWnd, -16)
If (exLong And &H20000) = 0 Then
SetWindowLongA hWnd, -16, exLong Or &H20000
Else
End If
End Sub
- Trong userform đặt đoạn code sau vào:
Private Sub UserForm_Initialize()
Call FormatUserForm(Me.Caption)
end sub
Chúc thành công!

No comments :