Q:在使用Excel時,如果對工作表進行了修改但沒有保存,在關閉該工作簿時就會出現下所示的信息提示框。能夠在任何情況下關閉工作簿時避免出現這個提示框嗎?
A:我們知道,在VBA中,可以使用 Close方法關閉工作簿。例如,下面的語句關閉當前工作簿:
ThisWorkbook.Close
然而,如果在上次保存后又對工作簿進行了修改,那么就會彈出上所示的對話框。
下面介紹的4種方法,可以避免在關閉工作簿時出現所示的對話框。
方法1:在關閉工作簿之前先進行保存操作
在Workbook_BeforeClose事件中,輸入下面的代碼:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
ThisWorkbook.Close
End Sub
方法2:設置Close方法的參數值
如下面的代碼所示:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Close SaveChanges:=True
End Sub
此時,在關閉工作簿的同時也會保存對其所做的修改。
當然,如果將參數SaveChanges的值設置為False,在關閉工作簿時不會出現消息框但同時在上次保存工作簿之后所做的修改也會丟失。
方法3:屏蔽掉警告消息框
將DisplayAlerts屬性設置為False,屏蔽掉Excel彈出的警告消息。代碼如下:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
ThisWorkbook.Close
End Sub
注意,這種情形下,你在上次保存工作簿之后,對該工作簿做的任何修改都不會保存。
方法4:設置Saved屬性
如下面的代碼所示:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
ThisWorkbook.Close
End Sub
將工作簿的Saved屬性設置為True,告訴工作簿不需要保存。注意,此時你在上次保存工作簿后對該工作簿進行的修改不會被保存。
小結
上面介紹的方法都可以避免Excel信息框的出現,但使用后面兩種方法時要慎重,特別是你要保存對工作簿所做的修改時,以防重要信息沒有保存。