Home All Groups Group Topic Archive Search About

Excel Library in VB 2008 on 64-bit OS installation

Author
5 Mar 2009 3:36 PM
Peter K
The OS of my latest machine (Intel i7 Processor) is Vista Ultimate 64-bit.

In Visual Studio 2008 I am modifying one of my VB programs, which executes a
backup application.  The program accesses an Excel spreadsheet to obtain
input information.

While the program executed flawlessly when run on a 32-bit machine, trying
to make the necessary modifications on the 64-bit machine, it hangs up in
accessing the spreadsheet on workbook & worksheet Activate() staements with
the error message "Error Description: Old Format or invalid type library.
(Exception from HRESULT: 0x80028018 (Type_E_INVDATAREAD))."

Are there separate libraries if one is having a 64-bit OS?  If so, I have
not been able to find them.  I am using Office 2007, and under References I
added the same one as I had on the 32 bit machine.

Any help would be appreciated.

Peter K

Author
5 Mar 2009 3:41 PM
Jim Mack
Peter K wrote:
> The OS of my latest machine (Intel i7 Processor) is Vista Ultimate
> 64-bit.
>
> In Visual Studio 2008 ...

Your question is off-topic in the group, which is for Classic VB. Try
again in a group that has "dotnet" in its name.
Author
5 Mar 2009 7:18 PM
Peter K
Thxs for your response.  I guess you mean VB 6 when you say 'classic VB'. 
Sorry to 'intrude',  Quite confusing though: under Visual Tools & Languages
it lists the languages used in Visual Studio, so I assumed it was VB.net or
now VB 2008.  I actually use both, but right now it's the VB.net I need help
with & I'm not aware of any other user group on VB.net.  I'll try Visual
Studio.

Thxs again, Peter K.

Show quoteHide quote
"Jim Mack" wrote:

> Peter K wrote:
> > The OS of my latest machine (Intel i7 Processor) is Vista Ultimate
> > 64-bit.
> >
> > In Visual Studio 2008 ...
>
> Your question is off-topic in the group, which is for Classic VB. Try
> again in a group that has "dotnet" in its name.
>
>
Author
5 Mar 2009 8:15 PM
Tom Shelton
On 2009-03-05, Peter K <Pet***@discusions.microsoft.com> wrote:
> Thxs for your response.  I guess you mean VB 6 when you say 'classic VB'. 
> Sorry to 'intrude',  Quite confusing though: under Visual Tools & Languages
> it lists the languages used in Visual Studio, so I assumed it was VB.net or
> now VB 2008.  I actually use both, but right now it's the VB.net I need help
> with & I'm not aware of any other user group on VB.net.  I'll try Visual
> Studio.
>

microsoft.public.dotnet.languages.vb

--
Tom Shelton
Author
5 Mar 2009 8:22 PM
Karl E. Peterson
Peter K wrote:
> Thxs for your response.  I guess you mean VB 6 when you say 'classic VB'.

Actually, ClassicVB refers in its broadest sense to VB1-6, as that was a unique
language that was almost entirely forward compatible.  Common usage more typically
equates the phrase with 32-bit VB versions 4-6, though.

> Sorry to 'intrude',  Quite confusing though:

That's MSFT marketing for ya, yeah.  We understand you were duped.  NP.

> under Visual Tools & Languages
> it lists the languages used in Visual Studio, so I assumed it was VB.net or
> now VB 2008.  I actually use both, but right now it's the VB.net I need help
> with & I'm not aware of any other user group on VB.net.  I'll try Visual
> Studio.

I'd suggest you "get a real newsreader" and quit playing around with that web crap
if you want the best possible success with newsgroups.  There are lots of
VFred-focused newsgroups on this server, despite what sounds like Microsoft's
ability to hide them.  (I wouldn't know, as I can't imagine ever using a
web-interface for NNTP!)
--
..NET: It's About Trust!
http://vfred.mvps.org
Author
5 Mar 2009 7:43 PM
Ralph
Show quote Hide quote
"Peter K" <Pet***@discusions.microsoft.com> wrote in message
news:630FFD68-3F62-44ED-846F-F2499E8EC04B@microsoft.com...
> The OS of my latest machine (Intel i7 Processor) is Vista Ultimate 64-bit.
>
> In Visual Studio 2008 I am modifying one of my VB programs, which executes
a
> backup application.  The program accesses an Excel spreadsheet to obtain
> input information.
>
> While the program executed flawlessly when run on a 32-bit machine, trying
> to make the necessary modifications on the 64-bit machine, it hangs up in
> accessing the spreadsheet on workbook & worksheet Activate() staements
with
> the error message "Error Description: Old Format or invalid type library.
> (Exception from HRESULT: 0x80028018 (Type_E_INVDATAREAD))."
>
> Are there separate libraries if one is having a 64-bit OS?  If so, I have
> not been able to find them.  I am using Office 2007, and under References
I
> added the same one as I had on the 32 bit machine.
>

This is a common problem for users of dotNet Visual Studio developing on
64-bit machines. VS.Net will default to compiling for the local O/S version
("Any CPU") and there is no 64-bit equivalent for Office (and most others)
ActiveX components. So if the platform is 64-bit - the program will default
to being compiled for 64-bit and the call will fail.

When using 32-bit ActiveX components from VS.Net always go into project
settings and specifically set the project to compile for 32-bit.

Project -> Properties -> Build Page
"Platform Target" ComboBox
Change "Any CPU" (the Default) to "x86"
Re-build the project

In the future you should post to a "dotNet" newsgroup. They will have either
".dotnet." or ".vsnet." in the title.

-ralph
Author
5 Mar 2009 9:00 PM
Peter K
Thxs, I think this will help.

Peter K

Show quoteHide quote
"Ralph" wrote:

>
> "Peter K" <Pet***@discusions.microsoft.com> wrote in message
> news:630FFD68-3F62-44ED-846F-F2499E8EC04B@microsoft.com...
> > The OS of my latest machine (Intel i7 Processor) is Vista Ultimate 64-bit.
> >
> > In Visual Studio 2008 I am modifying one of my VB programs, which executes
> a
> > backup application.  The program accesses an Excel spreadsheet to obtain
> > input information.
> >
> > While the program executed flawlessly when run on a 32-bit machine, trying
> > to make the necessary modifications on the 64-bit machine, it hangs up in
> > accessing the spreadsheet on workbook & worksheet Activate() staements
> with
> > the error message "Error Description: Old Format or invalid type library.
> > (Exception from HRESULT: 0x80028018 (Type_E_INVDATAREAD))."
> >
> > Are there separate libraries if one is having a 64-bit OS?  If so, I have
> > not been able to find them.  I am using Office 2007, and under References
> I
> > added the same one as I had on the 32 bit machine.
> >
>
> This is a common problem for users of dotNet Visual Studio developing on
> 64-bit machines. VS.Net will default to compiling for the local O/S version
> ("Any CPU") and there is no 64-bit equivalent for Office (and most others)
> ActiveX components. So if the platform is 64-bit - the program will default
> to being compiled for 64-bit and the call will fail.
>
> When using 32-bit ActiveX components from VS.Net always go into project
> settings and specifically set the project to compile for 32-bit.
>
> Project -> Properties -> Build Page
> "Platform Target" ComboBox
> Change "Any CPU" (the Default) to "x86"
> Re-build the project
>
> In the future you should post to a "dotNet" newsgroup. They will have either
> ".dotnet." or ".vsnet." in the title.
>
> -ralph
>
>
>
Author
5 Mar 2009 10:02 PM
Mike Williams
"Ralph" <nt_consultin***@yahoo.com> wrote in message
news:et$6tvcnJHA.3916@TK2MSFTNGP06.phx.gbl...

> This is a common problem for users of dotNet Visual Studio

.. . . and you're just making things worse by providing answers to VB.Net
questions in the Classic VB group! Just redirect the man and leave it at
that!

Mike