在保存工作簿之前,發(fā)生Workbook_BeforeSave事件。其語法為: Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel AsBoolean)
說明:
示例1:讓用戶決定是否保存工作簿 下面的代碼在保存工作簿前,給出提示信息,讓用戶決定是否保存工作簿。 Private SubWorkbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim str str = MsgBox('希望保存工作簿嗎?', vbYesNo) If str = vbNo Then Cancel = True End Sub
在保存工作簿時,彈出如圖1所示的消息框,供用戶選擇是否保存該工作簿。 圖1
示例2:限定用戶必須在指定的單元格中輸入數(shù)據(jù) 在工作簿保存前,檢查指定的單元格中是否包含數(shù)據(jù)。如果這些單元格中沒有全部輸入數(shù)據(jù),那么不會保存該工作簿。也就是說,關閉該工作簿時,不會保存對該工作簿所做的修改。 Private SubWorkbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If WorksheetFunction.CountA(Worksheets('Sheet1'). _ Range('A1,A3,C2,D1')) < 4Then MsgBox '不能保存本工作簿!!!' & vbCrLf & _ '因為單元格A1,A3,C2,D1沒有輸入數(shù)據(jù)!' Cancel = True End If End Sub
將工作表Sheet1中的單元格D1留空,單擊“保存”按鈕,會彈出如圖2所示的消息框。只有當工作表Sheet1中的單元格A1、A3、C2、D1都輸入有數(shù)據(jù)時,才能夠正常保存該工作簿。 圖2
|
|