C# 如何显示“Excel保存更改”对话框

C# 如何显示“Excel保存更改”对话框,c#,excel,C#,Excel,我正在处理OnWorkbookBeforeClose事件,需要提示用户保存更改。关于如何禁用“保存更改”对话框的内容很多,但关于如何显示对话框的内容却很少 (我需要整理一些东西。如果这样做,然后让Excel将此框放上去,用户按“取消”,则不会出现用户未保存工作簿且工作簿仍处于打开状态和活动状态的事件) 由于SaveDontSaveCancel的标准对话框没有对话框按钮(最近的是YesNoCancel),是否有任何方式显示此“保存更改”对话框 (很明显,我对“保存”或“另存为”对话框不感兴趣,只对

我正在处理OnWorkbookBeforeClose事件,需要提示用户保存更改。关于如何禁用“保存更改”对话框的内容很多,但关于如何显示对话框的内容却很少

(我需要整理一些东西。如果这样做,然后让Excel将此框放上去,用户按“取消”,则不会出现用户未保存工作簿且工作簿仍处于打开状态和活动状态的事件)

由于SaveDontSaveCancel的标准对话框没有对话框按钮(最近的是YesNoCancel),是否有任何方式显示此“保存更改”对话框

(很明显,我对“保存”或“另存为”对话框不感兴趣,只对“保存更改”对话框感兴趣,该对话框会提示:“是否将更改保存到Book1.xks?”并有3个按钮:保存、不保存、取消)

XlBuiltInDialog.xlDialogSaveWorkbook仅显示“保存”对话框,提示输入文件名(表示用户已选择“保存”)

或者,如果工作簿关闭后引发事件,则这将允许我执行所需操作


我宁愿向用户提供正确的Excel对话框,这样就不想自己打开了。

您可以在
workbook\u BeforeClose
事件中将工作簿的
Saved
属性设置为
False
。这将迫使Excel在事件返回后显示Save/Don Save/Cancel对话框@Siddharth。如果用户选择“取消”,工作簿将保持打开状态。这就是你想要的吗?

我记得的3个按钮是
保存
不保存
,和
取消
。我不记得有一个对话框在一个框中显示
保存,另存为,取消
?的确-很好,q编辑。你能发布解决方案吗@GalleySlaveNo,我必须确定用户在BeforeClose结束之前是否按下了cancel键-如果将Save设置为false,则对话框将在BeforeClose事件之后显示,因此我不知道工作簿是否已关闭或仍处于打开状态。