Compartir a través de


Workbook.BeforeClose (Evento) (2007 System)

Actualización: noviembre 2007

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.v9.0 (en Microsoft.Office.Tools.Excel.v9.0.dll)

Sintaxis

Public Event BeforeClose As WorkbookEvents_BeforeCloseEventHandler

Dim instance As Workbook
Dim handler As WorkbookEvents_BeforeCloseEventHandler

AddHandler instance.BeforeClose, handler
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;
        }
    }
}

Permisos

Vea también

Referencia

Workbook (Clase)

Workbook (Miembros)

Microsoft.Office.Tools.Excel (Espacio de nombres)