尝试在没有对话框的情况下退出C#Excel工作簿

azr*_*n92 8 c# excel-interop excel-automation

我使用Microsoft Office Interop编辑一些excel文件,当我关闭它们时,我使用

outputExcelWorkBook.Close(false, paramMissing, paramMissing);
Run Code Online (Sandbox Code Playgroud)

但是仍然出现一个对话框,即使我false作为第一个参数传递.我也尝试过true并给它一个文件路径作为第二个参数,但在这两种情况下都会出现一个对话框,询问我是否要在关闭之前保存.谁能告诉我这里发生了什么?

Mic*_*ter 12

尝试将Application.DisplayAlerts属性设置为false.您可能会发现将此属性设置false为大多数自动化例程很有用.请记住在返回之前恢复之前的值.

Application applicationInstance = ...;
var oldDisplayAlertsValue = applicationInstance.DisplayAlerts;
applicationInstance.DisplayAlerts = false;
try
{
    outputExcelWorkBook.Close(false, Missing.Value, Missing.Value);
}
finally
{
    appliationInstance.DisplayAlerts = oldDisplayAlertsValue;
}
Run Code Online (Sandbox Code Playgroud)