VBA reference to Outlook

  • Thread starter Torbjörn Steijer
  • Start date
T

Torbjörn Steijer

Hi,

I picked the code below from a very good site (can't find it again). For
those who have higher version than 9.0 this doesn't work. Is there any other
way to write to code so that it adds the reference depending on what version
you have?

If anybody know where I might have picked up the code, please let me know.

Best regards
Torbjörn

'All this code only works if Excel has a reference to the Outlook library
'the sub below ensures we do
Public Sub CheckReferences()

Dim ref As Object
Static blnRefFound As Boolean
If blnRefFound = True Then Exit Sub

'do we have a reference already? if so, exit
For Each ref In Application.VBE.ActiveVBProject.References
If ref.Name = "Outlook" Then
blnRefFound = True
Exit Sub
End If
Next ref

'no reference? add it
If blnRefFound = False Then
'if you get an error below, the Outlook library is somewhere else. Search
for msoutl9.olb on your C drive, and
'when you find it, change the pathname on the next line and try again
Application.VBE.ActiveVBProject.References.AddFromFile
"C:\Program\Microsoft Office\Office\msoutl9.olb"
End If

End Sub
 
C

Colo

Hello,
Since only I have Outlook XP then I could not test this code, but pls
try something like this.


Code:
--------------------

With Application.VBE.ActiveVBProject.References
On Error Resume Next
.AddFromFile Filename:="msoutl9.olb"
If Err Then .AddFromFile Filename:="msoutl.olb"
On Error GoTo 0
End With

--------------------
 
D

Daniel Klann

Hi Torbjörn,

You can get around version problems by using the the GUID (Globally Unique
IDentifier) for the Outlook type library. The GUID is the same for all
versions of Outlook, although I can only confirm that this code works with
Excel and Outlook 2003.

Change this line:-

Application.VBE.ActiveVBProject.References.AddFromFile _
"C:\Program\Microsoft Office\Office\msoutl9.olb"

to this:-

Application.VBE.ActiveVBProject.References.AddFromGuid _
"{00062FFF-0000-0000-C000-000000000046}", 0, 0

Regards,
Dan
 
T

Thor

A good suggestion that took me one step further but I ran in to some
other problems when I used the application at work. I get the following
error message;

'Programmatic access to Visual Basic Project not trusted'

when it came to the 'With Application...'-line.

I really would like to add the reference without having to guide the
users in the VB menues. Some users aren't really up to that challenge!

(I have not tried the general reference that Dan suggested yet).

Best regards,

Thor
 
C

Colo

In XP, we have to change the security setting.
From main tool bar, Tools > Macro > security.
At the second tab, press Alt + V key.
Sorry I don't have an English version, but the caption would be
something like this..(Trust access to a VBA project
 

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