I have searched and nothing that I have found hits directly on what I am looking for (or maybe my searches have not hit on the combo of words).
In C# I have created an Excel sheet, using Interop.Excel, in which I insert some data and create a chart. This all works fine when I do a xlWorkBook.SaveAs.
What I want to do is prompt the user to put the automated workbook somewhere with thier own file name. I have tried (<http://p2p.wrox.com/vb-how/63900-disabling-second-excel-save-prompt.html>) where he basically does a new SaveFileDialog then if its == OK he builds his Excel sheet then he says that his workbook.SaveAs(FilePathFromSaveAsDialog) causes a prompt. When I try it, I get the "Showing modal dialog box when application is not running in UserInteractive mode is not a valid operation" error.
I would paste all my code but it is on a seperate system, however the just of it is:
using Excel = Microsoft.Office.Interop.Office //....then on click of link button.... Excel.Application xlApp; Excel.Workbook xlWorbook; Excel.Workbooks xlWorkbooks; Excel.Sheets xlSheets; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.ApplicationClass(); xlWorkBooks = xlApp.Workbooks; xlWorkBook = xlWorbooks.Add(misValue); xlSheets = xlWorkBook.Worksheets; xlWorkSheet = (Excel.Worksheet)xlSheets.get_Item(1); //....Now I fill my Excel sheet data and make my chart >>> then I close like below... xlApp.DisplayAlerts = true; //HERE IS WHERE I WANT TO EITHER PASS THE PATH AND FILE NAME FROM USER OR USE A PROMPT xlWorkBook.SaveAs("Test.xls", Excel.XFileFormat.XlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); //finally I release all my objects via Marshal.ReleaseComObject then GC.Collect