Calling workbook.saveas depending on excel version

R

Ryan

Hi,

I am working on some software that integrates an excel workbook. I am
having a problem calling the workbook.saveas method. I am developing on
XP with excel 2003, but i need this code to work with excel 2000.
Apparently excel 2000 requires saveas to have 10 arguments while excel
2003 requires 12 arguments. Ideally I would have something like this:

if (System.String.Compare(_app.Version,"10") < 0)
{
//Office 2000
_wb.SaveAs(_strFilename, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing,
Excel.XlSaveAsAccessMode.xlNoChange,Type.Missing, Type.Missing,
Type.Missing);
}
else
{
//Office XP
_wb.SaveAs(_strFilename, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing,
Excel.XlSaveAsAccessMode.xlNoChange,Type.Missing, Type.Missing,
Type.Missing, Type.Missing,Type.Missing);
}

However I cannot compile this on my XP machine because it says "no
overload for method saveas takes 10 arguments" at the first SaveAs
call.

Help!
 
N

NickHK

Ryan,
Write the code in the oldest version you intend to support.
Additional arguments in later versions are optional and if missing, take
their default values.
If this were not true, there would be no such thing as backwards
compatibility.

NickHK
 

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