在userformmacrosVBA中的X中添加操作
我有一个macros从其他工作簿(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)
所以当macros运行的时候,用户窗体显示出来了,后台也是test.xlsm。 但是,有些用户在右上angular使用“X”符号closures用户窗体。 有时会出现错误,因为源(text.xlsm)没有正确closures。
我想知道是否有一种方法来添加一个动作,如果用户点击我的用户表单中的“X”button? 所以我想closures在后台运行的test.xlsm,如果用户点击“X”button。
您可以使用窗体的QueryClose
-Event。 如果您将Cancel
设置为true
,表单将不会closures
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Workbooks("test.xlsm").close End Sub
这是您在UserForm中需要的,以便能够在请求closures时执行操作:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Debug.Print "You Exited" End Sub
一旦用户点击了X
,就会在即时窗口中看到“You Exited”。