Workbook.BeforeClose, événement (System 2007)
Mise à jour : novembre 2007
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.v9.0 (dans Microsoft.Office.Tools.Excel.v9.0.dll)
Syntaxe
Public Event BeforeClose As WorkbookEvents_BeforeCloseEventHandler
Dim instance As Workbook
Dim handler As WorkbookEvents_BeforeCloseEventHandler
AddHandler instance.BeforeClose, handler
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;
}
}
}
Autorisations
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.