Add references

  • Thread starter Thread starter Kent Schederin
  • Start date Start date
K

Kent Schederin

Is it possible to add a reference to Current version of Word object library
by using VBA on startup of a file?

KS
 
Hello
Try:
ThisWorkbook.VBProject.References.AddFromFile (Application.Path &
"\MSWORD.OLB")

Amend the MSWORD.OLB file name with relevant file name according to version
(eg MSWORD9.OLB for Word 2000)

HTH
Cordially
Pascal
 
I don't think I'd do this (even if I knew how!):

I think you want to use something called late-binding. Instead of relying on a
specific version, you create a "version-independent" object that doesn't use
references.

Tom Ogilvy posted this recently:

Here are some more extensive references on binding:

Use late binding - don't have a reference to excel.

http://support.microsoft.com/default.aspx?scid=kb;EN-US;244167
INFO: Writing Automation Clients for Multiple Office Versions

http://support.microsoft.com/default.aspx?scid=kb;en-us;245115
INFO: Using Early Binding and Late Binding in Automation

http://support.microsoft.com/default.aspx?scid=kb;en-us;247579
INFO: Use DISPID Binding to Automate Office Applications Whenever Possible

However, if the problem is caused by going from a newer version of Excel to
an older version, the solution might be to do the development on the oldest
version.

=============

Also, Dick Kusleika has a web page at:
http://www.dicks-clicks.com/excel/olBinding.htm
that explains this difference when using Outlook

It's very nice to use early binding when developing. You get all the
intellisense help (when you set the reference and declare the variables
nicely). But before you distribute it to users (who may be using different
versions), it's usually a good idea to use latebinding (and change those object
variable declarations to the generic "As Object".)
 
Hello Dave
Yes this is definitely true in case of different Office versions
I forgot to mention to Kent that the example I provided should only be used
with a known version of Office
Thanks for the valuable links provided.

Cordially
Pascal
 

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

Back
Top