Поделиться через


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

См. также

Ссылки

WorkbookBase Класс

Microsoft.Office.Tools.Excel - пространство имен