Partilhar via


Evento Workbook.BeforeClose (sistema de 2007)

Ocorre antes que a pasta de trabalho fecha.Se a pasta de trabalho tiver sido alterada, esse evento ocorre antes que o usuário é solicitado a salvar as alterações.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel.v9.0 (em Microsoft.Office.Tools.Excel.v9.0.dll)

Sintaxe

Public Event BeforeClose As WorkbookEvents_BeforeCloseEventHandler

Dim instance As Workbook
Dim handler As WorkbookEvents_BeforeCloseEventHandler

AddHandler instance.BeforeClose, handler
public event WorkbookEvents_BeforeCloseEventHandler BeforeClose

Exemplos

O exemplo de código a seguir demonstra um manipulador para o BeforeClose evento. O manipulador de eventos solicita que o usuário também salvar as alterações, não salvar alterações ou cancelar a operação de fechar, se as alterações foram feitas para a pasta de trabalho, desde que foi salvo pela última vez.Se o usuário não salva as alterações e, em seguida, a Saved propriedade da pasta de trabalho é conjunto para true Assim que o Microsoft Office Excel não solicita ao usuário para salvar a pasta de trabalho quando continua a operação de fechar. Se o usuário cancelar a operação de fechar e, em seguida, a Cancel parâmetro das WorkbookEvents_BeforeCloseEventHandler manipulador de eventos está configurado true para que o Microsoft Office Excel não fecha a pasta de trabalho.

Este exemplo é para uma personalização em nível de 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;
        }
    }
}

Permissões

Consulte também

Referência

Workbook Classe

Membros Workbook

Namespace Microsoft.Office.Tools.Excel