closures由VBA打开的所有工作簿
我有一个Excel应用程序打开另一个工作簿存储到WBdatavariables。
我想要的是当我点击closuresbutton[X]closuresWBdata工作簿,然后如果我的应用程序是唯一剩下的工作簿打开,closuresExcel,否则closures此工作簿。
我试过这个:
Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Save ThisWorkbook.WBdata.Close False If (Workbooks.Count = 1) Then Application.Quit Else ThisWorkbook.Close End If End Sub
但是看起来之前的closures事件并不是要走的路,因为If的Else部分会在closures之前重新开始。
所以我试图把一个如果像这样:
Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Save ThisWorkbook.WBdata.Close False If (Workbooks.Count = 1) Then Application.Quit End If End Sub
但是,结果是我closures了所有的工作簿,但不是Excel应用程序。 (也许是因为application.quit在before_close事件?)
我怎样才能正确地closuresWBdata然后这个工作簿,并closuresExcel,如果他们是唯一剩下的工作簿打开?