在本文中,我们将展示如何使用VBA禁用用户窗体上的x按钮。

在此示例中,我们创建了一个用户表单,可以通过单击工作表上的运行按钮来激活它。

ArrowRawSheet

该用户窗体仅包含一个用于关闭用户窗体的按钮。用户表单只能通过单击此按钮来关闭。即使按键盘上的快捷键Alt + F4也将无法关闭此用户窗体。

ArrowCloseForm

逻辑解释

为了禁用用户窗体的x按钮,我们使用了用户窗体的查询关闭事件。在关闭用户表单之前会触发此事件。

在这种情况下,我们设置了以下条件:如果关闭模式是菜单控件,则不要关闭用户窗体;否则,请关闭用户窗体。而是在对话框中显示一条信息消息。

ArrowClickXButton

请遵循以下代码

Option Explicit

Sub running()

UserForm1.Show

End Sub

'Add below code in userform

Private Sub CommandButton1_Click()

'Close the userform

Unload Me

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

'Using Query Close event of Userform

'Comparing the constant value of CloseMode variable

'If it is equal to inbuilt constant of control menu

'Then prevent closing of userform and

'Display information message dialog box

If CloseMode = vbFormControlMenu Then



'Changing Cancel variable value to True

'By default, it is False

Cancel = True

MsgBox "You can't close the dialog like this!"

End If

End Sub

如果您喜欢此博客,请在Facebook和Facebook上与您的朋友分享。

我们希望收到您的来信,请让我们知道如何改善我们的工作并为您做得更好。写信给我们[email protected]