我在宏中有一个userform,它从另一个工作簿(test.xlsm)获取源代码。所以我使用下面的代码打开该工作簿而不显示它。
Const fromFile = "C:\Users\excel\test.xlsm"
Dim srcBook As Workbook
Set srcBook =
Application.Workbooks.Open("C:\Users\excel\test.xlsm", _
UpdateLinks:=False, _
ReadOnly:=True, _
AddToMRU:=False)
因此,当宏运行时,userform会显示出来,并且背景中也会显示test.xlsm。但是,有些用户使用右上角的“X”符号关闭用户表单。有时会出现错误,因为源(text.xlsm)没有正确关闭。
我想知道如果用户点击我的用户表单中的“X”按钮,是否有办法添加操作?因此,如果用户单击“X”按钮,我想关闭在后台运行的test.xlsm。
答案 0 :(得分:2)
您可以使用表单的QueryClose
- 事件。如果您将Cancel
设置为true
,表单将不关闭
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Workbooks("test.xlsm").close
End Sub
答案 1 :(得分:0)
这是UserForm中您需要的,以便在请求关闭时采取行动:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Debug.Print "You Exited"
End Sub
用户点击X
后,您会看到"您已退出"印在即时窗口上。