WorkbookBase.BeforeClose - событие
Происходит перед закрытием книги. Если в книгу были внесены изменения, данное событие возникает перед предложением сохранить изменения.
Пространство имен: Microsoft.Office.Tools.Excel
Сборка: Microsoft.Office.Tools.Excel.v4.0.Utilities (в Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Синтаксис
'Декларация
Public Event BeforeClose As WorkbookEvents_BeforeCloseEventHandler
public event WorkbookEvents_BeforeCloseEventHandler BeforeClose
Примеры
В следующем примере кода демонстрируется обработчик событий BeforeClose. Обработчик событий предлагает пользователю сохранить изменения, не сохранять изменения или отменить операцию закрытия файла, если в книгу были внесены изменения со времени последнего сохранения. Если пользователь не сохраняет изменения, свойству Saved присваивается значение true, таким образом, Microsoft Office Excel не предлагает пользователю сохранить книгу при выполнении операции закрытия файла. Если пользователь отменяет операцию закрытия, параметру Cancel обработчика событий WorkbookEvents_BeforeCloseEventHandler присваивается значение true, при этом Microsoft Office Excel не выполняет закрытие книги.
В этом примере демонстрируется настройка уровня документа.
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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.