Dealing with different version of Excel using Visual Basic 6

K

khundeen

I am writing Excel automation using Visual basic 6.

The application is supposed to read the excel file created by the
Office 2003 version. I also have Office 2003 on my machine so I set my
reference to "Microsoft Excel 11.0 Object Library"

Now when I try to run the program on the computer that doesn't have
Office 2003 but has Office 2000, it crashed.

Can you let me know how to handle this problem.

I do have the error handling section to display the error but it seems
that the program try to execute but got Error "An exception "Unhandled
Win 32 Exception" has occured in Program.exe"

I would like to check if the excel on the machine is not version 2003
and just abort the program without crashing.

Can anyone help with the sample of source code to determine the version
of Excel in the computer?

Thanks,
Deen
 
B

Bob Phillips

Load your program on a machine with Office 2000, and set a reference to that
(9.0?). Then when you migrate up to 2003 all will be well. Always develop
with the lowest deployment version.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
K

khundeen

So I basically need to set reference to Excel 9.0? Do I also need to
set to 11.0 when I develop on my main computer that have office 2003?

Perhaps I can install both on my development machine? Will it get any
conflict?

Thanks.
Deen
 
B

Bob Phillips

No, the whole point of my response is that you only ever set it Excel 9.0,
and when you deploy on a later version machine, Excel/VBA will manage it (It
doesn't do it the other way).

You could install both on one machine (I have 97, 2000 and XP on this
machine), but I only see the OL of the latest version in Tools>References.
If I installed them in reverse order, I assume I would only see the Excel
8.0 OL, being that Excel 97 would be my default Excel, and I also assume I
could browse for the other libraries and thereby manually load them. But all
that is not necessary. If you have a machine with 2000 on, just develop on
that machine.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 

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