473,396 Members | 2,052 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

MS Excel with C#

I developed an application in C# using MS Excel objects. The app works fine
on the computers with Excel 2000 installed, but gives an error on computers
with Excel 2002.
I checked an found out that my app cannot compile on PC with Excel 2002
because Microsoft has changed the numbers of parameters in some functions.
For example Workbooks.Open has 13 arguments with EXCEL 2000
Excel 2000 (13 arguments)
wb =
m_Excel.Workbooks.Open(Path.Combine(System.IO.Dire ctory.GetCurrentDirectory(
), "myfile.xls"),
optParam,optParam,optParam,
optParam,optParam,optParam,
optParam,optParam,optParam,
optParam,optParam,optParam);
but the same function with Excel 2002 has 15 arguments, so the compilation
failed.

How can I build my application, so it will work with both Excel 200 and 2002
?
Of course I can have 2 versions (with conditional compilation) but it seems
for me not the best aproach.
Any ideas?

Regards,
Yakimo

Nov 16 '05 #1
1 1283
I would have wrapper classes that implement the things you actually need to
do. For example you probably don't care about all 15 of those Open()
arguments, so you could have a method that takes the 3 or 4 you really care
about.

The wrapper instance would be intialized for a particular Excel version and
then internally would make the correct calls to the Excel Automation
objects.

The only problem with this is that the wrapper class would either have to
bind at runtime to the proper Interop assembly, or you would have to
distribute all possible Interop assemblies with it.

--Bob

"Yakimo" <ty******@fullof.spams> wrote in message
news:eY**************@TK2MSFTNGP12.phx.gbl...
I developed an application in C# using MS Excel objects. The app works fine on the computers with Excel 2000 installed, but gives an error on computers with Excel 2002.
I checked an found out that my app cannot compile on PC with Excel 2002
because Microsoft has changed the numbers of parameters in some functions.
For example Workbooks.Open has 13 arguments with EXCEL 2000
Excel 2000 (13 arguments)
wb =
m_Excel.Workbooks.Open(Path.Combine(System.IO.Dire ctory.GetCurrentDirectory( ), "myfile.xls"),
optParam,optParam,optParam,
optParam,optParam,optParam,
optParam,optParam,optParam,
optParam,optParam,optParam);
but the same function with Excel 2002 has 15 arguments, so the compilation failed.

How can I build my application, so it will work with both Excel 200 and 2002 ?
Of course I can have 2 versions (with conditional compilation) but it seems for me not the best aproach.
Any ideas?

Regards,
Yakimo

Nov 16 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

13
by: Allison Bailey | last post by:
Hi Folks, I'm a brand new Python programmer, so please point me in the right direction if this is not the best forum for this question.... I would like to open an existing MS Excel spreadsheet...
3
by: Otie | last post by:
I found the following under the GetObject help notes and in the example for GetObject: "This example uses the GetObject function to get a reference to a specific Microsoft Excel worksheet...
6
by: Matthew Wieder | last post by:
I have the following requirements: Build a stand-alone C# application that asks the user to click in a cell in an Excel spreadsheet, and then displays the address of that cell in the C#...
14
by: pmud | last post by:
Hi, I need to use an Excel Sheet in ASP.NET application so that the users can enter (copy, paste ) large number of rows in this Excel Sheet. Also, Whatever the USER ENETRS needs to go to the...
22
by: Howard Kaikow | last post by:
There's a significant problem in automating Excel from VB .NET. Reminds me of a problem I encountered almost 3 years ago that was caused by the Norton Auntie Virus Office plug-in. Can anybody...
9
by: Anthony | last post by:
To me, creating Excel 2003 spreadsheets programmatically via VB.NET hasn't really changed since the days of VB6. That is, I'd do something similar to this Code: Dim ExcelApp As...
7
by: Alain \Mbuna\ | last post by:
Hi everybody. In my program I have some data that is calculated after some input from the user. I have written some code that opens an Excel workbook, with 5 worksheets and the calculated data...
16
by: alexia.bee | last post by:
Hi all, In some weird reason, excel instance won;t die if i remove the comment from 4 lines of setting values into struct. here is a snipcode public...
9
by: Doug Glancy | last post by:
I got the following code from Francesco Balena's site, for disposing of Com objects: Sub SetNothing(Of T)(ByRef obj As T) ' Dispose of the object if possible If obj IsNot Nothing AndAlso...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.