我有一个Excel应用程序,用于打开存储在WBdata变量中的另一个工作簿。
我想要的是当我点击关闭按钮[X]它关闭WBdata工作簿然后如果我的应用程序是打开的唯一剩余工作簿,关闭Excel,否则只需关闭此工作簿。
我试过了:
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
但看起来之前的关闭事件并非如此,因为If的Else部分会在关闭之前再次发射。
所以我试着把这样的if:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
ThisWorkbook.WBdata.Close False
If (Workbooks.Count = 1) Then
Application.Quit
End If
End Sub
但结果是我关闭了所有工作簿,但没有关闭Excel应用程序。 (也许是因为application.quit在before_close事件上?)
如何正确关闭WBdata然后关闭此工作簿,如果它们是唯一剩下的工作簿,则关闭Excel?