excel VBA 窗体 如何禁用窗体关闭按钮

时间:2022-07-15 15:06:50 

我们前面讲了怎样去除 VBA 窗体的关闭按钮,其实个人感觉没有这个关闭按钮会使整个窗体感觉有点怪,但有时候又想让他不可用,变得不可点击,那该怎么实现呢? 好,我们马上就来试一试看看。

excel VBA 窗体 如何禁用窗体关闭按钮

操作如下:
◾在Excel 的VBE窗口中插入一个用户窗体,将其命名为 frmNotEnabledCloseIcon。然后再添加一个模块。在窗体和模块中添加后面所列代码。
◾在工作薄中的工作表中添加一窗体按钮控件,指定其设置宏 ShowNotEnabledCloseIconForm, 其供示范之用.

具体代码:

"frmNotEnabledCloseIcon" 窗体代码

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 GetSystemMenu _
Lib "user32" ( _
ByVal hwnd As LongPtr, _
ByVal bRevert As Long) _
As LongPtr
'删除菜单项
Private Declare PtrSafe Function DeleteMenu _
Lib "user32" ( _
ByVal hMenu As LongPtr, _
ByVal nPosition As Long, _
ByVal wFlags As Long) _
As Long
'重绘窗体标题栏
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 GetSystemMenu _
Lib "User32" ( _
ByVal Hwnd As Long, _
ByVal bRevert As Long) _
As Long
'删除菜单项
Private Declare Function DeleteMenu _
Lib "User32" ( _
ByVal HMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long) _
As Long
'重绘窗体标题栏
Private Declare Function DrawMenuBar _
Lib "User32" ( _
ByVal Hwnd As Long) _
As Long
#End If
'以下定义常数
Private Const MF_BYCOMMAND = &H0&
Private Const SC_CLOSE = &HF060
'以下下定义变量
#If Win64 Then '64位
Private FHwnd As LongPtr
Private hMenu As LongPtr
#Else
Private FHwnd As Long
Private hMenu As Long
#End If
'关闭按钮点击
Private Sub BtCancel_Click()
Unload Me
End Sub
'恢复按钮点击
Private Sub BtResume_Click()
'恢复原菜单
hMenu = GetSystemMenu(FHwnd, 1)
'重绘窗体标题栏
DrawMenuBar FHwnd
End Sub
'**************************************
'---------------主程序-----------------
'**************************************
Private Sub UserForm_Initialize()
'查找窗口句柄
FHwnd = FindWindow("ThunderDFrame", Me.Caption)
'取得窗体系统菜单
hMenu = GetSystemMenu(FHwnd, 0)
'删除系统菜单中关闭菜单
DeleteMenu hMenu, SC_CLOSE, MF_BYCOMMAND
'重绘窗体标题栏
DrawMenuBar FHwnd
End Sub

"mdNotEnabledCloseIcon" 模块代码

Option Explicit'
此过程为工作表内按钮调用
Sub ShowNotEnabledCloseIconForm()
frmNotEnabledCloseIcon.Show
End Sub

1文件名称1下载链接
1禁用窗体关闭按钮.ziphttp://pan.baidu.com/s/1ntG6Odj

excel VBA 窗体 如何禁用窗体关闭按钮的下载地址:


     

标签:excel,VBA,窗体,如何,禁用,关闭,按钮,我们,前面
0
投稿

猜你喜欢

  • ghoststarttrayapp.exe是什么进程 有什么作用 ghoststarttrayapp进程查询

    2023-08-02 17:54:45
  • excel怎么限定列单元格的输入内容?

    2022-08-31 07:25:15
  • Win11安装卡在请稍等调整步骤怎么办?

    2022-09-06 23:29:54
  • MAC OS X 10.8如何重启通知中心

    2022-01-19 16:13:44
  • 系统中容易被用户所忽略的初始必要设置项

    2023-10-28 20:10:36
  • Win11关闭自动锁屏怎么操作?Win11如何关闭自动锁屏?

    2022-08-25 07:44:47
  • wps的ppt如何设置循环播放

    2022-06-02 01:34:56
  • Word如何给文字加圆圈?Word文档添加圆圈标注的方法

    2023-07-09 07:26:16
  • Excel表格行高列宽杂乱,如何规范?

    2022-06-09 14:04:14
  • Win10系统设置储存感知自动清理临时文件和系统垃圾方法

    2023-09-26 06:53:49
  • 在幻灯片的制作过程中如何播放幻灯片操作指南

    2022-06-02 21:46:07
  • Win10怎么关闭自动维护?win10关闭自动维护教程

    2022-09-14 03:47:30
  • 如何在 Mac 上的邮件中添加签名来个性化电子邮件?

    2023-06-20 18:34:35
  • excel2003中trimmean函数有什么作用?itrimmean函数的应用

    2023-10-18 17:19:41
  • Packet Tracer使用指南(二)创建简单的网络

    2023-12-14 05:30:02
  • MAC下UserEventAgent未响应如何修复

    2023-02-23 09:23:17
  • Excel中表格零(0)不显示出来的操作方法

    2022-08-27 06:39:23
  • 苹果手机“隔空投送”有什么用?如何使用“隔空投送”?

    2023-04-23 02:40:35
  • Win8.1系统出现语言聊天麦克风没有声音的解决办法

    2023-02-13 08:22:36
  • Win10系统如何利用pin码登录

    2022-04-13 00:09:40
  • asp之家 电脑教程 m.aspxhome.com