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
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.