Partager via


WorkbookBase.BeforeClose, événement

Se produit avant la fermeture du classeur. Si le classeur a été modifié, cet événement se produit avant qu'il ne soit demandé à l'utilisateur d'enregistrer les modifications.

Espace de noms :  Microsoft.Office.Tools.Excel
Assembly :  Microsoft.Office.Tools.Excel.v4.0.Utilities (dans Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Syntaxe

'Déclaration
Public Event BeforeClose As WorkbookEvents_BeforeCloseEventHandler
public event WorkbookEvents_BeforeCloseEventHandler BeforeClose

Exemples

L'exemple de code suivant illustre un gestionnaire pour l'événement BeforeClose. Le gestionnaire d'événements invite l'utilisateur à enregistrer les modifications, à ne pas les enregistrer ou à annuler l'opération de fermeture si des modifications ont été apportées au classeur depuis son dernier enregistrement. Si l'utilisateur n'enregistre pas les modifications, la valeur true est affectée à la propriété Saved du classeur afin que Microsoft Office Excel n'invite pas l'utilisateur à enregistrer le classeur lors de l'opération de fermeture. Si l'utilisateur annule l'opération de fermeture, le paramètre Cancel du gestionnaire d'événements WorkbookEvents_BeforeCloseEventHandler a la valeur true afin que Microsoft Office Excel ne ferme pas le classeur.

Cet exemple illustre une personnalisation au niveau du document.

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;
        }
    }
}

Sécurité .NET Framework

Voir aussi

Référence

WorkbookBase Classe

Microsoft.Office.Tools.Excel, espace de noms