Condividi tramite


Evento WorkbookBase.BeforeClose

Si verifica prima della chiusura della cartella di lavoro. Se la cartella di lavoro è stata modificata, questo evento si verifica prima che all'utente sia chiesto di salvare le modifiche.

Spazio dei nomi:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Sintassi

'Dichiarazione
Public Event BeforeClose As WorkbookEvents_BeforeCloseEventHandler
public event WorkbookEvents_BeforeCloseEventHandler BeforeClose

Esempi

Nell'esempio di codice riportato di seguito viene illustrato un gestore per l'evento BeforeClose. Il gestore eventi chiede all'utente di salvare, non salvare le modifiche o annullare l'operazione di chiusura se la cartella di lavoro è stata modificata dopo l'ultimo salvataggio. Se l'utente non salva le modifiche, la proprietà Saved della cartella di lavoro viene impostata su true per evitare che all'utente venga chiesto di salvare la cartella di lavoro durante l'operazione di chiusura. Se l'utente annulla l'operazione di chiusura, il parametro Cancel del gestore eventi WorkbookEvents_BeforeCloseEventHandler viene impostato su true per evitare che la cartella di lavoro venga chiusa.

Questo esempio è valido per una personalizzazione a livello di 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;
        }
    }
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

WorkbookBase Classe

Spazio dei nomi Microsoft.Office.Tools.Excel