By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
429,589 Members | 1,194 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,589 IT Pros & Developers. It's quick & easy.

Microsoft Office 8.0 Object Library

P: n/a
I have Office97Pro, Office2000Premium and OfficeXP Pro all installed. I'm
creating an Access97 application for another person and need to set a
reference to Microsoft Office 8.0 Object Library. When I look at my
references, all I have is Microsoft Office 10.0 Object Library. Why don't
have Microsoft Office 8.0 Object Library when I have Office97Pro installed?
What can I do to get a reference to Microsoft Office 8.0 Object Library?

Thanks!

Rolf
Nov 13 '05 #1
Share this Question
Share on Google+
13 Replies


P: n/a
On Nov 27 2004, 10:48 pm, "Rolf" <rl*****@mycourt.com> wrote in
news:1U*****************@newsread2.news.atl.earthl ink.net:
I have Office97Pro, Office2000Premium and OfficeXP Pro all installed.
I'm creating an Access97 application for another person and need to
set a reference to Microsoft Office 8.0 Object Library. When I look at
my references, all I have is Microsoft Office 10.0 Object Library. Why
don't have Microsoft Office 8.0 Object Library when I have Office97Pro
installed? What can I do to get a reference to Microsoft Office 8.0
Object Library?


When you install a later version of Office on a machine with Office 97, the
newer version registers its own version of the Office library, which is
supposed to be backwards-compatible with the Office 97 version. If you set
a reference to v10.0 library in an Access 97 database (which is ok for
development, although you shouldn't use any features from the new library
that are not present in the old one), and then move the database to a
machine that only has Office 97 installed, Access will fix up the reference
so that the 8.0 version of the Office library is used.

That's how it _should_ work. It wouldn't be a bad idea to test it in your
environment.

--
remove a 9 to reply by email
Nov 13 '05 #2

P: n/a
My experience has been otherwise.
If I develop an application with a reference to Office 8.0 and put it on a
machine with Office 9.0, the "fix" is automatic, but not in the other
direction.

"Dimitri Furman" <df*****@cloud99.net> wrote in message
news:Xn****************************@127.0.0.1...
On Nov 27 2004, 10:48 pm, "Rolf" <rl*****@mycourt.com> wrote in
news:1U*****************@newsread2.news.atl.earthl ink.net:
I have Office97Pro, Office2000Premium and OfficeXP Pro all installed.
I'm creating an Access97 application for another person and need to
set a reference to Microsoft Office 8.0 Object Library. When I look at
my references, all I have is Microsoft Office 10.0 Object Library. Why
don't have Microsoft Office 8.0 Object Library when I have Office97Pro
installed? What can I do to get a reference to Microsoft Office 8.0
Object Library?
When you install a later version of Office on a machine with Office 97,

the newer version registers its own version of the Office library, which is
supposed to be backwards-compatible with the Office 97 version. If you set
a reference to v10.0 library in an Access 97 database (which is ok for
development, although you shouldn't use any features from the new library
that are not present in the old one), and then move the database to a
machine that only has Office 97 installed, Access will fix up the reference so that the 8.0 version of the Office library is used.

That's how it _should_ work. It wouldn't be a bad idea to test it in your
environment.

--
remove a 9 to reply by email

Nov 13 '05 #3

P: n/a
"Rolf" <rl*****@mycourt.com> wrote in message
news:1U*****************@newsread2.news.atl.earthl ink.net...
I have Office97Pro, Office2000Premium and OfficeXP Pro all installed. I'm
creating an Access97 application for another person and need to set a
reference to Microsoft Office 8.0 Object Library. When I look at my
references, all I have is Microsoft Office 10.0 Object Library. Why don't
have Microsoft Office 8.0 Object Library when I have Office97Pro installed?
What can I do to get a reference to Microsoft Office 8.0 Object Library?


Use late binding and it won't matter which version is present, and you app will
be less crippled on machines where NO version of the library is present.
--
I don't check the Email account attached
to this message. Send instead to...
RBrandt at Hunter dot com
Nov 13 '05 #4

P: n/a
Rick,

I need the Microsoft Office 8.0 Object Library to be able to work with the
commandbars collection. I have included a sample of my code. How do I apply
late binding?

Dim cbr As CommandBar
Dim Ctl As CommandBarComboBox
On Error GoTo ErrorHandler
Set cbr = CommandBars("CourseCalendarMenu")
Set Ctl = cbr.Controls("Month")
Ctl.ListIndex = Month(Date)

Thanks!

Rolf

"Rick Brandt" <ri*********@hotmail.com> wrote in message
news:30*************@uni-berlin.de...
"Rolf" <rl*****@mycourt.com> wrote in message
news:1U*****************@newsread2.news.atl.earthl ink.net...
I have Office97Pro, Office2000Premium and OfficeXP Pro all installed. I'm
creating an Access97 application for another person and need to set a
reference to Microsoft Office 8.0 Object Library. When I look at my
references, all I have is Microsoft Office 10.0 Object Library. Why don't have Microsoft Office 8.0 Object Library when I have Office97Pro installed? What can I do to get a reference to Microsoft Office 8.0 Object Library?
Use late binding and it won't matter which version is present, and you app

will be less crippled on machines where NO version of the library is present.
--
I don't check the Email account attached
to this message. Send instead to...
RBrandt at Hunter dot com

Nov 13 '05 #5

P: n/a
"Rolf" <rl*****@mycourt.com> wrote in message
news:bZ*****************@newsread2.news.atl.earthl ink.net...
Rick,

I need the Microsoft Office 8.0 Object Library to be able to work with the
commandbars collection. I have included a sample of my code. How do I
apply
late binding?


Dim cbr As Object
Dim Ctl As Object
On Error GoTo errorhandler
Set cbr = CommandBars("CourseCalendarMenu")
Set Ctl = cbr.Controls("Month")
Ctl.ListIndex = Month(Date)


Nov 13 '05 #6

P: n/a
It's called MSO97.dll It is normally in your (Office 97) Office
folder. It's not displayed because it is compatible with the
Office 10 version: the registry entry can point to one or the
other, but not both.

And you probably should not have a reference to the Office object
library except during development. Take out the reference,
check for compilation errors, and use late bound objects
(set obj = createobject).

(david)

"Rolf" <rl*****@mycourt.com> wrote in message
news:1U*****************@newsread2.news.atl.earthl ink.net...
I have Office97Pro, Office2000Premium and OfficeXP Pro all installed. I'm
creating an Access97 application for another person and need to set a
reference to Microsoft Office 8.0 Object Library. When I look at my
references, all I have is Microsoft Office 10.0 Object Library. Why don't
have Microsoft Office 8.0 Object Library when I have Office97Pro installed? What can I do to get a reference to Microsoft Office 8.0 Object Library?

Thanks!

Rolf

Nov 13 '05 #7

P: n/a
David,

Thank you for taking the time to respond!

Two questions ---
1. Why shouldn't I have a reference to the Office object library except
during development. Why not use late binding during development?
2. I need the Microsoft Office 8.0 Object Library to be able to work with
the commandbars collection. I have included a sample of my code. How do I
apply late binding?

Dim cbr As CommandBar
Dim Ctl As CommandBarComboBox
On Error GoTo ErrorHandler
Set cbr = CommandBars("CourseCalendarMenu")
Set Ctl = cbr.Controls("Month")
Ctl.ListIndex = Month(Date)

Thanks!

Rolf

"david epsom dot com dot au" <david@epsomdotcomdotau> wrote in message
news:41***********************@news.syd.swiftdsl.c om.au...
It's called MSO97.dll It is normally in your (Office 97) Office
folder. It's not displayed because it is compatible with the
Office 10 version: the registry entry can point to one or the
other, but not both.

And you probably should not have a reference to the Office object
library except during development. Take out the reference,
check for compilation errors, and use late bound objects
(set obj = createobject).

(david)

"Rolf" <rl*****@mycourt.com> wrote in message
news:1U*****************@newsread2.news.atl.earthl ink.net...
I have Office97Pro, Office2000Premium and OfficeXP Pro all installed. I'm creating an Access97 application for another person and need to set a
reference to Microsoft Office 8.0 Object Library. When I look at my
references, all I have is Microsoft Office 10.0 Object Library. Why don't have Microsoft Office 8.0 Object Library when I have Office97Pro

installed?
What can I do to get a reference to Microsoft Office 8.0 Object Library?

Thanks!

Rolf


Nov 13 '05 #8

P: n/a
> during development. Why not use late binding during development?

Early binding lets you use the Type Library during development.
This lets you use AutoComplete, compilation checks, the Office
help files, etc. Once you have it working on your PC, then you
can remove the reference, and go through and remove all the type
declarations and named constants, and use late binding for the
object creation.

(david)

"Rolf" <rl*****@mycourt.com> wrote in message
news:bw****************@newsread3.news.atl.earthli nk.net...
David,

Thank you for taking the time to respond!

Two questions ---
1. Why shouldn't I have a reference to the Office object library except
during development. Why not use late binding during development?
2. I need the Microsoft Office 8.0 Object Library to be able to work with
the commandbars collection. I have included a sample of my code. How do I
apply late binding?

Dim cbr As CommandBar
Dim Ctl As CommandBarComboBox
On Error GoTo ErrorHandler
Set cbr = CommandBars("CourseCalendarMenu")
Set Ctl = cbr.Controls("Month")
Ctl.ListIndex = Month(Date)

Thanks!

Rolf

Nov 13 '05 #9

P: n/a
David,

Thanks for responding!

Do you have a response to my second question?

Rolf
"david epsom dot com dot au" <david@epsomdotcomdotau> wrote in message
news:41***********************@news.syd.swiftdsl.c om.au...
during development. Why not use late binding during development?


Early binding lets you use the Type Library during development.
This lets you use AutoComplete, compilation checks, the Office
help files, etc. Once you have it working on your PC, then you
can remove the reference, and go through and remove all the type
declarations and named constants, and use late binding for the
object creation.

(david)

"Rolf" <rl*****@mycourt.com> wrote in message
news:bw****************@newsread3.news.atl.earthli nk.net...
David,

Thank you for taking the time to respond!

Two questions ---
1. Why shouldn't I have a reference to the Office object library except
during development. Why not use late binding during development?
2. I need the Microsoft Office 8.0 Object Library to be able to work with the commandbars collection. I have included a sample of my code. How do I apply late binding?

Dim cbr As CommandBar
Dim Ctl As CommandBarComboBox
On Error GoTo ErrorHandler
Set cbr = CommandBars("CourseCalendarMenu")
Set Ctl = cbr.Controls("Month")
Ctl.ListIndex = Month(Date)

Thanks!

Rolf


Nov 13 '05 #10

P: n/a
Same as for any other late binding:

Dim cbr As Object
Dim Ctl As Object

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)

"Rolf" <rl*****@mycourt.com> wrote in message
news:fR*****************@newsread3.news.atl.earthl ink.net...
David,

Thanks for responding!

Do you have a response to my second question?

Rolf
"david epsom dot com dot au" <david@epsomdotcomdotau> wrote in message
news:41***********************@news.syd.swiftdsl.c om.au...
during development. Why not use late binding during development?
Early binding lets you use the Type Library during development.
This lets you use AutoComplete, compilation checks, the Office
help files, etc. Once you have it working on your PC, then you
can remove the reference, and go through and remove all the type
declarations and named constants, and use late binding for the
object creation.

(david)

"Rolf" <rl*****@mycourt.com> wrote in message
news:bw****************@newsread3.news.atl.earthli nk.net...
David,

Thank you for taking the time to respond!

Two questions ---
1. Why shouldn't I have a reference to the Office object library except during development. Why not use late binding during development?
2. I need the Microsoft Office 8.0 Object Library to be able to work with the commandbars collection. I have included a sample of my code. How
do I apply late binding?

Dim cbr As CommandBar
Dim Ctl As CommandBarComboBox
On Error GoTo ErrorHandler
Set cbr = CommandBars("CourseCalendarMenu")
Set Ctl = cbr.Controls("Month")
Ctl.ListIndex = Month(Date)

Thanks!

Rolf



Nov 13 '05 #11

P: n/a
Thanks, Doug!

What about CreateObject; is that applicable?

Rolf
"Douglas J. Steele" <NOSPAM_djsteele@NOSPAM_canada.com> wrote in message
news:3f********************@rogers.com...
Same as for any other late binding:

Dim cbr As Object
Dim Ctl As Object

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)

"Rolf" <rl*****@mycourt.com> wrote in message
news:fR*****************@newsread3.news.atl.earthl ink.net...
David,

Thanks for responding!

Do you have a response to my second question?

Rolf
"david epsom dot com dot au" <david@epsomdotcomdotau> wrote in message
news:41***********************@news.syd.swiftdsl.c om.au...
> during development. Why not use late binding during development?

Early binding lets you use the Type Library during development.
This lets you use AutoComplete, compilation checks, the Office
help files, etc. Once you have it working on your PC, then you
can remove the reference, and go through and remove all the type
declarations and named constants, and use late binding for the
object creation.

(david)

"Rolf" <rl*****@mycourt.com> wrote in message
news:bw****************@newsread3.news.atl.earthli nk.net...
> David,
>
> Thank you for taking the time to respond!
>
> Two questions ---
> 1. Why shouldn't I have a reference to the Office object library except > during development. Why not use late binding during development?
> 2. I need the Microsoft Office 8.0 Object Library to be able to
work with
> the commandbars collection. I have included a sample of my code. How

do
I
> apply late binding?
>
> Dim cbr As CommandBar
> Dim Ctl As CommandBarComboBox
> On Error GoTo ErrorHandler
> Set cbr = CommandBars("CourseCalendarMenu")
> Set Ctl = cbr.Controls("Month")
> Ctl.ListIndex = Month(Date)
>
> Thanks!
>
> Rolf
>



Nov 13 '05 #12

P: n/a
If you can create your objects by referring to some other object or
collection, you don't need the CreateObject. That's only required if you're
creating a brand new object.

To be honest, though, I'm not sure whether your reference to the CommandBars
collection is going to work if you don't have the reference set. You'll have
to try it and see.

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)

"Rolf" <rl*****@mycourt.com> wrote in message
news:es*****************@newsread3.news.atl.earthl ink.net...
Thanks, Doug!

What about CreateObject; is that applicable?

Rolf
"Douglas J. Steele" <NOSPAM_djsteele@NOSPAM_canada.com> wrote in message
news:3f********************@rogers.com...
Same as for any other late binding:

Dim cbr As Object
Dim Ctl As Object

--
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)

"Rolf" <rl*****@mycourt.com> wrote in message
news:fR*****************@newsread3.news.atl.earthl ink.net...
David,

Thanks for responding!

Do you have a response to my second question?

Rolf
"david epsom dot com dot au" <david@epsomdotcomdotau> wrote in message
news:41***********************@news.syd.swiftdsl.c om.au...
> > during development. Why not use late binding during development?
>
> Early binding lets you use the Type Library during development.
> This lets you use AutoComplete, compilation checks, the Office
> help files, etc. Once you have it working on your PC, then you
> can remove the reference, and go through and remove all the type
> declarations and named constants, and use late binding for the
> object creation.
>
> (david)
>
> "Rolf" <rl*****@mycourt.com> wrote in message
> news:bw****************@newsread3.news.atl.earthli nk.net...
> > David,
> >
> > Thank you for taking the time to respond!
> >
> > Two questions ---
> > 1. Why shouldn't I have a reference to the Office object library

except
> > during development. Why not use late binding during development?
> > 2. I need the Microsoft Office 8.0 Object Library to be able to work with
> > the commandbars collection. I have included a sample of my code.
How do
I
> > apply late binding?
> >
> > Dim cbr As CommandBar
> > Dim Ctl As CommandBarComboBox
> > On Error GoTo ErrorHandler
> > Set cbr = CommandBars("CourseCalendarMenu")
> > Set Ctl = cbr.Controls("Month")
> > Ctl.ListIndex = Month(Date)
> >
> > Thanks!
> >
> > Rolf
> >
>
>



Nov 13 '05 #13

P: n/a
On Dec 01 2004, 06:58 pm, "Douglas J. Steele"
<NOSPAM_djsteele@NOSPAM_canada.com> wrote in
news:Zd********************@rogers.com:
To be honest, though, I'm not sure whether your reference to the
CommandBars collection is going to work if you don't have the
reference set. You'll have to try it and see.


At least in A97, this would sometimes work even without an explicit
reference to the Office library. Access is using the same library itself,
and it "shortcuts" some (not all) of the library's objects and methods so
that they can be used in your application code.

To be honest, I'd much rather set the reference and be done with it. The
library is present on every machine that has Access installed - unlike some
other libraries, I've yet to see this one cause any problems with broken
refs.

--
remove a 9 to reply by email
Nov 13 '05 #14

This discussion thread is closed

Replies have been disabled for this discussion.