110,534
社区成员
发帖
与我相关
我的任务
分享
class WorkbookEventSink
{
Workbook workbook;
ISynchronizeInvoke invokeHandle;
public WorkbookEventSink(Workbook workbook,ISynchronizeInvoke invokeHandle)
{
this.workbook=workbook;
this.invokeHandle=invokeHandle;
this.workbook.BeforeClose +=
new Excel.WorkbookEvents_BeforeCloseEventHandler(
Workbook_BeforeClose);
}
void Workbook_BeforeClose(ref bool Cancel)
{
if (DialogResult.Yes ==
MessageBox.Show(Do you want to save the workbook?",
"Example", MessageBoxButtons.YesNo))
{
workbook.Save();
}
else{
Cancel=true;
invokeHandle.Invoke(
(MethodInvoker)
delegate {
workbook.Close(false,null,false);
}
);
}
}
}