Поделиться через


Событие 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 и обратная связь.