Evento Workbook.BeforeSave (Excel)
Se produce antes de que el libro se guarde.
Sintaxis
expresión. BeforeSave (SaveAsUI, Cancel)
Expresión Variable que representa un objeto Workbook .
Parameters
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
SaveAsUI | Obligatorio | Boolean | True si se muestra el cuadro de diálogo Guardar como debido a los cambios realizados que deben guardarse en el libro. |
Cancel | Obligatorio | Boolean | False al producirse el evento. Si el procedimiento de evento establece el valor de argumento en True, el libro no se guardará al terminar el procedimiento. |
Valor devuelto
Nothing
Ejemplo:
En este ejemplo se pide confirmación al usuario antes de guardar el libro.
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
En este ejemplo se usa el evento BeforeSave para comprobar que ciertas celdas contienen datos antes de que se pueda guardar el libro. No se puede guardar el libro hasta que haya datos en las celdas siguientes: D5, D7, D9, D11, D13 y 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
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.