ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Compatibility Excel 2002 and 2000 in automation (https://www.excelbanter.com/excel-programming/327261-compatibility-excel-2002-2000-automation.html)

Michael[_38_]

Compatibility Excel 2002 and 2000 in automation
 
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 ?



Cloe

Compatibility Excel 2002 and 2000 in automation
 
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

"Michael" wrote in message
...
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 ?





Robert Bruce[_2_]

Compatibility Excel 2002 and 2000 in automation
 
Michael wrote:
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




All times are GMT +1. The time now is 10:39 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com