mishelper
asked on
MS Excel 12.0 Object Library not found in user PC
Situation:
I have a program developed in Visual Studio 2005. I have MS office 2007 installed in my XP computer, and I add reference to MS Excel 12.0 Object Library.
The program runs fine at my computer, however an error message pops up on users PC, which has MS office 2003 only. The error message states MS Excel 12.0.0.0 Object Library is not found.
Question:
Is there anyway to work around this?
I did some research and some ppl talked about detecting the assembly and add the reference at runtime. Is there any code for reference?
I have a program developed in Visual Studio 2005. I have MS office 2007 installed in my XP computer, and I add reference to MS Excel 12.0 Object Library.
The program runs fine at my computer, however an error message pops up on users PC, which has MS office 2003 only. The error message states MS Excel 12.0.0.0 Object Library is not found.
Question:
Is there anyway to work around this?
I did some research and some ppl talked about detecting the assembly and add the reference at runtime. Is there any code for reference?
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
On computers where you have excel 2003, open them and add the Excel 11 reference instead. It should work, unless you're using any function that was added for 2007 only.
ASKER
Thank you emoreau, is there any sample code you can share?
Than you Cluskitt, I cannot compile the program with your suggested way. Visual Studio doesn't allow me to declare Excel objects as the reference is not found at my PC (developer PC)... I just cannot compile.
Than you Cluskitt, I cannot compile the program with your suggested way. Visual Studio doesn't allow me to declare Excel objects as the reference is not found at my PC (developer PC)... I just cannot compile.
Yes, I know. I didn't read your question right, my bad. :P
As for code, see here to explain differences between late and early binding: http://www.dicks-clicks.com/excel/olBinding.htm
As for code, see here to explain differences between late and early binding: http://www.dicks-clicks.com/excel/olBinding.htm
<No points wanted>
If you must support users with Excel 11.0, then you must either (a) do as emoreau suggests and use Late Binding or (b) do your final build on a machine that is representative of the minimum supported environment (i.e. a machine with Excel 11.0 installed). Option (a) is the preferred method.
If you must support users with Excel 11.0, then you must either (a) do as emoreau suggests and use Late Binding or (b) do your final build on a machine that is representative of the minimum supported environment (i.e. a machine with Excel 11.0 installed). Option (a) is the preferred method.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Or you could just deploy the Office 2007 Primary Interop Assemblies (PIA) along with your application. That will put the missing Excel 12.0 Object Library on the PC
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=59daebaa-bed4-4282-a28c-b864d8bfa513&displaylang=en
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=59daebaa-bed4-4282-a28c-b864d8bfa513&displaylang=en