private void Application_WorkbookBeforeClose(Excel.Workbook Wb, ref bool Cancel)
{
// 自定义关闭提示框
var result = System.Windows.Forms.MessageBox.Show("Do you want to save changes to the workbook before closing?",
"Close Workbook",
System.Windows.Forms.MessageBoxButtons.YesNoCancel,
System.Windows.Forms.MessageBoxIcon.Question);
if (result == System.Windows.Forms.DialogResult.Yes)
{
// 如果选择 Yes,则保存工作簿并继续关闭
Wb.Save();
}
else if (result == System.Windows.Forms.DialogResult.No)
{
// 如果选择 No,则不保存工作簿并继续关闭
}
else if (result == System.Windows.Forms.DialogResult.Cancel)
{
// 如果选择 Cancel,则取消关闭操作
Cancel = true;
}
}
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
var app = Globals.ThisAddIn.Application;
app.WorkbookOpen += App_WorkbookOpen;
app.WorkbookBeforeClose += new Excel.AppEvents_WorkbookBeforeCloseEventHandler(Application_WorkbookBeforeClose);
//禁用系统提示
app.DisplayAlerts = false;
}