Compartilhar via


Evento Workbook.BeforeSave (Excel)

Ocorre antes de a pasta de trabalho ser salva.

Sintaxe

expressão. BeforeSave (SaveAsUI, Cancel)

Expressão Uma variável que representa um objeto Workbook .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
SaveAsUI Obrigatório Boolean True se a caixa de diálogo Salvar Como for exibida devido a alterações feitas que precisam ser salvas na pasta de trabalho.
Cancel Obrigatório Boolean False quando o evento ocorre. Se o procedimento de evento definir esse argumento como True, a pasta de trabalho não será salva quando o procedimento for concluído.

Valor de retorno

Nothing

Exemplo

Este exemplo solicita do usuário uma resposta Sim ou Não antes do salvamento da pasta de trabalho.

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

Este exemplo usa o evento BeforeSave para verificar se determinadas células contêm dados antes que a pasta de trabalho possa ser salva. A pasta de trabalho não poderá ser salva até haver dados em cada uma destas células: D5, D7, D9, D11, D13 e 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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.