Событие Workbook.BeforeSave (Excel)

Происходит до сохранения книги.

Синтаксис

выражение. BeforeSave (SaveAsUI, Cancel)

выражение Переменная, представляющая объект книги .

Параметры

Имя Обязательный или необязательный Тип данных Описание
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 и обратная связь.