Excel VBA 窗体之添加最大最小化按钮 实现代码
发布时间:2022-06-30 15:34:13
VBA的窗体和一般的程序窗体不太一样,一般的窗体都会有一个最大化和一个最小化按钮,而VBA窗体却只有一个关闭按钮。这样就使VBA的窗体在使用的时候会有一些不太方便,下面我们就来为它添加最大和最小化按钮。
附件下载:
点击链接从百度网盘下载
操作如下:
◾在Excel的VBE窗口中插入一个用户窗体,将其命名为frmMaxMin。然后再添加一个模块。在窗体和模块中添加后面所列代码。
◾在工作薄中的任意工作表中添加一窗体按钮控件,将指定其设置宏为btnShowfrmMaxMin_Click。其供示范之用。
具体代码:
"ModToolsForm"模块代码
Sub btnShowfrmMaxMin_Click()
frmMaxMin.Show
End Sub
"frmTools" 窗体代码
'****************************************
'---此模块演示了给窗体添加最大最小化按钮---
'****************************************
Option Explicit
'以下声明API函数
#If Win64 Then '64位
Private Declare PtrSafe Function FindWindow _
Lib "user32" _
Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) _
As LongPtr
Private Declare PtrSafe Function GetWindowLong _
Lib "user32" _
Alias "GetWindowLongPtrA" ( _
ByVal hwnd As LongPtr, _
ByVal nIndex As Long) _
As LongPtr
Private Declare PtrSafe Function SetWindowLong _
Lib "user32" _
Alias "SetWindowLongPtrA" ( _
ByVal hwnd As LongPtr, _
ByVal nIndex As Long, _
ByVal dwNewLong As LongPtr) _
As LongPtr
Private Declare PtrSafe Function DrawMenuBar _
Lib "user32" ( _
ByVal hwnd As LongPtr) _
As Long
#Else '32位
'查找窗口
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
'重绘窗体标题栏
Private Declare Function DrawMenuBar _
Lib "User32" ( _
ByVal Hwnd As Long) _
As Long
#End If
#If Win64 Then '64位
Private FHwnd As LongPtr
Private FIstype As LongPtr
#Else
Private FHwnd As Long
Private FIstype As Long
#End If
'以下定义常数
Private Const GWL_STYLE = (-16) '窗口样式
Private Const WS_MAXIMIZEBOX = &H10000 '最大化按钮
Private Const WS_MINIMIZEBOX = &H20000 '最小化按钮
'**************************************
'---------------主程序-----------------
'**************************************
Private Sub UserForm_Initialize()
'查找窗口句柄
FHwnd = FindWindow("ThunderDFrame", Me.Caption)
'取得窗口样式位
FIstype = GetWindowLong(FHwnd, GWL_STYLE)
'窗体样式位: 原样式和最大化、最小化按钮
FIstype = FIstype Or WS_MAXIMIZEBOX Or WS_MINIMIZEBOX
'重设窗体样式位
SetWindowLong FHwnd, GWL_STYLE, FIstype
'重绘窗体标题栏
DrawMenuBar FHwnd
End Sub
Excel VBA 窗体之添加最大最小化按钮 实现代码的下载地址:


猜你喜欢
- 大家有没有遇到过这种情况?当我们在使用电脑的时候,稍微离开了一会儿,电脑就自动锁屏了,如果您设置了密码的话,就得重新输入密码进入主界面,非常
- 许多浏览器在播方b站视频的时候用的都是html,而很多用户都反映说画面非常的卡顿过一会儿才会恢复,那么该怎么解决这样的问题呢?下面就来看看解
- 微信拍一拍功能已经上线一段时间,在微信内可以看到各个小伙伴在不停的拍人,都被玩疯了。近来有些细心的小伙伴会发现有些人在拍一拍的同时,后面会出
- 神奇PPT转长图软件是一款可以将PPT文件转换为长图图片的软件,可一键转换多个PPT文件,并且几乎所有版本的PPT文件它都支持转换。那么,神
- 设置共享模式步骤2:点击excel的文件按钮, 设置共享模式步骤6:新建一个文件夹,点击确定按钮,然后执行:共享特定用户,一路点击确定,在文
- 微软每隔一段时间都会发布更新补丁,修复一些系统漏洞,不过有时候更新有点频繁,更新过程也会导致用户的电脑有些卡顿,所有很多用户并不想经常更新,
- 网址和文件地址的英文拼写具有个性化特点,因此不能以标准的拼写规范检查Internet地址和文件地址。网址和文件地址的英文拼写具有个性化特点,
- 工作表中如果存在大量的细小图形对象,那么文件体积就可能在用户毫不知情的情况下暴增,这是一种很常见的“Excel 肥胖症”。可以使用下面两种方
- 中国建设银行怎么设置声纹登录?现在各大银行的APP安全设施越做越好,指纹解锁、信息确认啥都有,现在用户声纹就可以进行登录了,有些用户还不知道
- 虽然 Windows 10 才刚刚放出,并且已经有数以千万用户,但微软已经开始努力对系统进行更新和修复。而日前,一 * Win10通用应用更新
- 很多小伙伴更新了系统,下载了系统部落win7系统,但是却不知道这个系统的默认密码是多少,其实这个没有密码,Windows7默认账户用户名是:
- 有不少用户都喜欢在微软自带的商店中下载软件或者游戏,但最近一些升级到Win11系统的用户在使用Microsoft Store的时候却出现了0
- 有的时候在桌面右下角出现了一个windows安全中心警报的标志,其作用就是提醒警告用户加强安全防护而已,那么Windows安全中心怎么关闭呢
- Excel中经常需要使用到冻结纵列的功能,纵列数据具体该如何冻结呢?下面是小编带来的关于excel2003冻结纵列的方法,希望阅读过后对你有
- Acrobat2018怎么使用OCR识别扫描版PDF中的文字?Acrobat2018中想要识别pdf中的文字,该怎么使用ocr识别呢?下面我
- ppwebcap.exe是Visioneer ScanSoft相关程序,驻留在系统托盘进程文件: ppwebcap or ppwebcap.
- Acrobat怎么插入pdf文件?Acrobat打开pdf文件想要插入一个文件,该怎么插入呢?下面我们就来看看Acrobat插入文件的教程,
- 硬盘在电脑中占据着重要的地位,她是负责储存资料和软件的仓库。如果硬盘出现故障,就会导致数据的丢失,给我们造成不必要的麻烦。那么,硬盘常见的故
- word2013页眉下边添加横线的方法如下:打开word2013,双击页眉区域,让页眉处出现编辑的状态; &nb
- 为开机登录界面换上自己喜欢的背景,来缓解审美疲劳,如果可以让登录界面中的文字也拥有阴影效果的话,那就更好了,下面有个比较不错的方法,大家可以