Zdarzenie WorkbookBase.BeforeClose
Występuje przed zamknięciem skoroszytu.Jeśli skoroszyt został zmieniony, to zdarzenie występuje, zanim użytkownik jest pytany, aby zapisać zmiany.
Przestrzeń nazw: Microsoft.Office.Tools.Excel
Zestaw: Microsoft.Office.Tools.Excel.v4.0.Utilities (w Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Składnia
'Deklaracja
Public Event BeforeClose As WorkbookEvents_BeforeCloseEventHandler
public event WorkbookEvents_BeforeCloseEventHandler BeforeClose
Przykłady
Poniższy przykład kodu demonstruje obsługi dla BeforeClose zdarzenia.Program obsługi zdarzeń monituje użytkownika o zapisanie zmian, nie zapisać zmiany albo anulować operację zamknięcia, jeśli wprowadzono zmiany w skoroszycie od momentu ostatniego zapisania.Jeśli użytkownik nie zapisuje zmian, a następnie Saved właściwość skoroszytu jest ustawiona na true , aby program Microsoft Office Excel nie monituje użytkownika o zapisanie skoroszytu po kontynuuje operację zamknięcia.Jeśli użytkownik anuluje operację zamknięcia, a następnie Cancel parametr WorkbookEvents_BeforeCloseEventHandler program obsługi zdarzeń jest ustawiona na true , aby program Microsoft Office Excel nie można zamknąć skoroszyt.
Ten przykład dotyczy dostosowywania na poziomie dokumentu.
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;
}
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.