WorkbookBase.BeforeClose-Ereignis
Tritt ein, bevor die Arbeitsmappe geschlossen wird. Wenn die Arbeitsmappe geändert wurde, tritt dieses Ereignis ein, bevor der Benutzer gefragt wird, ob die Änderungen gespeichert werden sollen.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntax
'Declaration
Public Event BeforeClose As WorkbookEvents_BeforeCloseEventHandler
public event WorkbookEvents_BeforeCloseEventHandler BeforeClose
Beispiele
Im folgenden Codebeispiel wird ein Handler für das BeforeClose-Ereignis veranschaulicht. Durch den Ereignishandler wird der Benutzer aufgefordert, Änderungen zu speichern oder nicht zu speichern oder den Schließvorgang abzubrechen, wenn seit dem letzten Speichern der Arbeitsmappe Änderungen an dieser vorgenommen wurden. Falls der Benutzer Änderungen nicht speichert, wird die Saved-Eigenschaft der Arbeitsmappe auf true festgelegt, sodass Microsoft Office Excel den Benutzer nicht zum Speichern der Arbeitsmappe auffordert, wenn der Schließvorgang fortgesetzt wird. Falls der Benutzer den Schließvorgang abbricht, wird der Cancel-Parameter des WorkbookEvents_BeforeCloseEventHandler-Ereignishandlers auf true festgelegt, sodass Microsoft Office Excel die Arbeitsmappe nicht schließt.
Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.
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;
}
}
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.