Workbook.BeforeSave event (Excel)
Occurs before the workbook is saved.
Syntax
expression.BeforeSave (SaveAsUI, Cancel)
expression A variable that represents a Workbook object.
Parameters
Name | Required/Optional | Data type | Description |
---|---|---|---|
SaveAsUI | Required | Boolean | True if the Save As dialog box is displayed due to changes made that need to be saved in the workbook. |
Cancel | Required | Boolean | False when the event occurs. If the event procedure sets this argument to True, the workbook isn't saved when the procedure is finished. |
Return value
Nothing
Example
This example prompts the user for a yes or no response before saving the workbook.
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
This example uses the BeforeSave event to verify that certain cells contain data before the workbook can be saved. The workbook cannot be saved until there is data in each of the following cells: D5, D7, D9, D11, D13, and 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
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기