我有一個winform應用程序,我試圖在不顯示保存提示的情況下關閉excel。在谷歌和stackoverflow尋找解決方案後,這是我想出了,但它不適合我。無法在不顯示提示的情況下關閉excel
string filepath = string.Empty;
string reportname = lblreportname.Text;
filepath = Application.StartupPath + "\\StandardReports\\" + reportname + ".xls";
Microsoft.Office.Interop.Excel.Application xlApp;
Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Microsoft.Office.Interop.Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(filepath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
List<string> WorksheetList = new List<string>();
xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(lsvSelectedQ.SelectedItem.ToString());
Microsoft.Office.Interop.Excel.Range objRange = null;
objRange = (Microsoft.Office.Interop.Excel.Range)xlWorkSheet.Cells[1, 5];
string intrvl = objRange.Value.ToString();
//more code
xlApp.DisplayAlerts = false;
xlWorkBook.Save();
xlWorkBook.Close();
xlApp.DisplayAlerts = true;
xlApp.Quit();
隨着xlApp.DisplayAlerts = false;
我能夠取消提示,但我也無法關閉Excel。我仍然可以在任務管理器中看到excel進程。
[VBA workbooks.Close的可能的複製而不會被提示,如果用戶想保存?](http://stackoverflow.com/questions/11220537/vba-workbooks-close-without-being-prompted-to-if-the-user-wantst o-save) –
@AxelKemper我正在尋找一個C#解決方案。或者可以使用在線工具輕鬆轉換爲C#的Vb解決方案。你提到的帖子有vba解決方案。 – Arbaaz
你有沒有嘗試刪除第二個'DisplayAlerts'部分?我做了'DisplayAlerts = false','Save()','Close()'和'Quit()',它對我來說很好用 – uTeisT