Microsoft.Office.Interop.Excel SaveAs question

E

elsvieta

hi all,
I am trying to force a Save dialog when saving my file from a ASP.NET simple
app.
The code I am having trouble with is below:

......
Microsoft.Office.Interop.Excel.ApplicationClass objApp = new
Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbook objWorkBook = null;
Microsoft.Office.Interop.Excel.Worksheet objSheet = new
Microsoft.Office.Interop.Excel.Worksheet();

objWorkBook = objApp.Workbooks.Add(Type.Missing);
objSheet =
(Microsoft.Office.Interop.Excel.Worksheet)objWorkBook.Sheets[1];
objSheet.Name = "SUMMARY";
Microsoft.Office.Interop.Excel.Range objRange;
... some data added to the spreadsheet




objApp.DisplayAlerts = true;
objWorkBook.SaveAs(someFileName, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);


When it saves it saves always to the same location/name provided throught
the someFileName string.

I can't make it prompt me so that I can choose a path and a name!!!
Can anybody show me how it's done?

Thanks,
elsvieta
 
J

JoeP

elsvieta said:
hi all,
I am trying to force a Save dialog when saving my file from a ASP.NET simple
app.
The code I am having trouble with is below:

.....
Microsoft.Office.Interop.Excel.ApplicationClass objApp = new
Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbook objWorkBook = null;
Microsoft.Office.Interop.Excel.Worksheet objSheet = new
Microsoft.Office.Interop.Excel.Worksheet();

objWorkBook = objApp.Workbooks.Add(Type.Missing);
objSheet =
(Microsoft.Office.Interop.Excel.Worksheet)objWorkBook.Sheets[1];
objSheet.Name = "SUMMARY";
Microsoft.Office.Interop.Excel.Range objRange;
... some data added to the spreadsheet




objApp.DisplayAlerts = true;
objWorkBook.SaveAs(someFileName, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);


When it saves it saves always to the same location/name provided throught
the someFileName string.

I can't make it prompt me so that I can choose a path and a name!!!
Can anybody show me how it's done?

Thanks,
elsvieta


I believe you need to change this line....

objWorkBook.SaveAs(someFileName, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing,
Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);

TO this....

objApp.Dialogs(Microsoft.Office.Interop.Excel.XlBuiltInDialog.xlDialogSaveAs).Show(Arg1 = someFileName);


If you add a path such as "C:\MyDocuments\ExcelFiles\SomeFolder\" in your
someFileName variable, this will be the active folder and your file name will
be populated in the filename box.

Note: I converted this from VB.NET so I hope it works for you in C#.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top