Compatibility Excel 2002 and 2000 in automation

M

Michael

Hello,

I have made a windows application in C#, and i automate Excel to print some
data.

On my dev machine i have Office XP installed (Excel 2002) so i get the COM
dll from it, version 10.0 object library.

The application is running well on machines with Excel 2002, the xls file
open and data is inserted in the cells.

But with Excel 2000 the process fail when opening the workbook.

The exception is :
System.NullReferenceException : Object not set to an instance of an object
at Excel.workbooks.Open(...)

Object oMissing = System.Reflection.Missing.Value;

//monXLS = appliXLS.Workbooks.Open(nomFichier, oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing);

monXLS = appliXLS.Workbooks.Open(nomFichier, 0, false, 5, "", "", true,
Excel.XlPlatform.xlWindows, "", false, false, 0, false, 0, true);



Is there a way to make it work for both version 2000 and 2002 ?
 
C

Cloe

Hi Michael.
My answer is in VB :)

Work with objects !!!
(Firstly you might want to place the code as in the "dont sample" so it will
be easy to debug, but after you make it work - use objects).

Do:
Dim xlsApp As Object
Set xlsApp = CreateObject("Excel.Application")

Dont:
Dim xlsApp As Excel.Application

HTH
Guy
 
R

Robert Bruce

Michael said:
Hello,

I have made a windows application in C#, and i automate Excel to
print some data.

On my dev machine i have Office XP installed (Excel 2002) so i get
the COM dll from it, version 10.0 object library.

The application is running well on machines with Excel 2002, the xls
file open and data is inserted in the cells.

But with Excel 2000 the process fail when opening the workbook.

Is there a way to make it work for both version 2000 and 2002 ?

As Guy says, you could late bind, but I would try developing with your
reference set to the lowest version of Excel you expect your app. to
encounter. I would, however, avoid going down to Excel 97 since I have had
all sorts of issues with automating Office97 from .NET and I believe MS
doesn't recommend it.

Rob
 

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