Событие Workbook.BeforeSave (Excel)
Происходит перед сохранением книги.
Синтаксис
expression. BeforeSave (SaveAsUI, Cancel)
Выражение Переменная, представляющая объект Workbook .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
SaveAsUI | Обязательный | Boolean | Значение true , если диалоговое окно Сохранить как отображается из-за внесенных изменений, которые необходимо сохранить в книге. |
Отмена | Обязательный | 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 и обратная связь.