Trying to exit C# Excel Workbook without a dialog box

azrosen92 picture azrosen92 · Jul 1, 2013 · Viewed 8.1k times · Source

I am using Microsoft Office Interop to edit some excel files and when I close them I use

outputExcelWorkBook.Close(false, paramMissing, paramMissing);

But a dialog box still comes up, even though I passed false as the first parameter. I have also tried it with true and giving it a file path as the second parameter but in both cases a dialog box comes up asking me if I want to save before closing. Can anyone tell me what's going on here?

Answer

Michael Gunter picture Michael Gunter · Jul 1, 2013

Try setting the Application.DisplayAlerts property to false. You may find it useful to set this property to false for the majority of your automation routines. Remember to restore the previous value before returning.

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