Workbook.BeforeSave 事件 (Excel)

保存工作簿之前发生此事件。

语法

表达式BeforeSave (SaveAsUICancel)

表达 一个代表 Workbook 对象的变量。

参数

名称 必需/可选 数据类型 说明
SaveAsUI 必需 Boolean 如果由于需要保存在工作簿中的更改而显示“另存为”对话框,则该属性值为 True
Cancel 必需 Boolean 当事件发生时为 False 。 如果该事件过程将此参数设置为 True ,则该过程完成后将不保存工作簿。

返回值

Nothing

示例

此示例在保存工作簿之前询问用户是否保存。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ 
        Cancel as Boolean) 
    a = MsgBox("Do you really want to save the workbook?", vbYesNo) 
    If a = vbNo Then Cancel = True 
End Sub

此示例使用 BeforeSave 事件验证某些单元格在保存工作簿之前是否包含数据。 若以下每个单元格中均包含数据,则无法保存工作簿:D5、D7、D9、D11、D13 和 D15。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   'If the six specified cells don't contain data, then display a message box with an error
   'and cancel the attempt to save.
   If WorksheetFunction.CountA(Worksheets("Sheet1").Range("D5,D7,D9,D11,D13,D15")) < 6 Then
      MsgBox "Workbook will not be saved unless" & vbCrLf & _
      "All required fields have been filled in!"
      Cancel = True
   End If
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。