WorkbookBase.BeforeClose (Evento)
Se produce antes de que se cierre el libro.Si se ha cambiado el libro, este evento se produce antes de que se solicite al usuario que guarde los cambios.
Espacio de nombres: Microsoft.Office.Tools.Excel
Ensamblado: Microsoft.Office.Tools.Excel.v4.0.Utilities (en Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Sintaxis
'Declaración
Public Event BeforeClose As WorkbookEvents_BeforeCloseEventHandler
public event WorkbookEvents_BeforeCloseEventHandler BeforeClose
Ejemplos
En el ejemplo de código siguiente se muestra un controlador para el evento BeforeClose.El controlador de eventos pregunta al usuario si desea guardar los cambios, perder los cambios o cancelar la operación de cierre si se han efectuado cambios en el libro desde la última vez que se guardó.Si el usuario no guarda los cambios, la propiedad Saved del libro se establece en true para que Microsoft Office Excel no solicite al usuario que guarde el libro cuando continúe la operación de cierre.Si el usuario cancela la operación de cierre, el parámetro Cancel del controlador de eventos WorkbookEvents_BeforeCloseEventHandler se establece en true para que Microsoft Office Excel no cierre el libro.
Se trata de un ejemplo para una personalización en el nivel del documento.
Sub ThisWorkbook_BeforeClose(ByRef Cancel As Boolean) _
Handles Me.BeforeClose
If Not Me.Saved Then
Dim result As DialogResult = _
MessageBox.Show("Do you want to save the " & _
"changes you made to " & Me.Name & "?", _
"Example", MessageBoxButtons.YesNoCancel)
Select Case result
Case DialogResult.Yes
Me.Save()
Case DialogResult.Cancel
Cancel = True
' The following code ensures that the default Save File
' dialog is not displayed.
Case DialogResult.No
Me.Saved = True
End Select
End If
End Sub
private void WorkbookBeforeClose()
{
this.BeforeClose +=
new Excel.WorkbookEvents_BeforeCloseEventHandler(
ThisWorkbook_BeforeClose);
}
void ThisWorkbook_BeforeClose(ref bool Cancel)
{
if (!this.Saved)
{
DialogResult result = MessageBox.Show("Do you want to save the " +
"changes you made to " + this.Name + "?", "Example",
MessageBoxButtons.YesNoCancel);
switch (result)
{
case DialogResult.Yes:
this.Save();
break;
case DialogResult.Cancel:
Cancel = true;
break;
// The following code ensures that the default Save File
// dialog is not displayed.
case DialogResult.No:
this.Saved = true;
break;
}
}
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.