We help IT Professionals succeed at work.

VBA Looking Up User in Global Address List

11,127 Views
Last Modified: 2013-12-25
So I have the VBA code below, found via Google. References are as shown in the attached bitmap, all in Office 2007.

What I'd like to do is modify the line which dispalys the Global Address List to default to select a specific individual (e.g. I want to use this to look up people in the GAL)
Set orecip = oCDOSession.AddressBook(Nothing, txtCaption, True, True, 1, buttontext, "", "", 0)

when the thing opens. However, I can't find ANY documentation on the Namespace.AddressBook method. Any ideas what each of it's arguements represent, or where there is some documentation on this? (I understand args 2 and 6...)


Sub Main()
    Call Globaladdress("Access-Executive", "Address Book: Global Address List", "Add")
End Sub

Sub Globaladdress(fieldname, caption, buttontext)
    Dim oOutlookApplication As Outlook.Application
    On Error Resume Next
    
    If oOutlookApplication Is Nothing Then
        Err.Clear
        Set oOutlookApplication = CreateObject("Outlook.Application")
    Else
        Set oOutlookApplication = GetObject(, "Outlook.Application")
    End If
    
    Set oCDOSession = CreateObject("Mapi.Session")
    oCDOSession.Logon "", "", False, False, 0
    txtCaption = caption 'The title of the window, e.g. "Address Book: Global Address List"
    
    If Not Err Then
        Set orecip = oCDOSession.AddressBook(Nothing, txtCaption, True, True, 1, buttontext, "", "", 0)
    End If
    
    If Not Err Then
        Item.UserProperties.Find(fieldname).Value = orecip(1).Name
    End If
    
    oCDOSession.Logoff
    oCDOSession = Nothing
    oOutlookApplication = Nothing
End Sub

Open in new window

References.bmp
Comment
Watch Question

CERTIFIED EXPERT
Top Expert 2010

Commented:
Hi, travisjbennett.

Forgetting about this code for a minute, what is it that you want to accomplish?  There may be a simpler way to do this.

Author

Commented:
I already know how to use LDAP via VBA -- I'm just trying to learn the method to give end users a nice pretty recognizable dialog with all the user info in it -- a way to automate looking up someone in the GAL.
All I want to do is pre-select someone (their name highlighted for easy right clicking to properties) in the GAL.
CERTIFIED EXPERT
Top Expert 2010

Commented:
Sorry, but I'm not clear on what you have in mind.  Outlook already has a means of searching the GAL and right-clicking to view the properties of an entry.  Are you proposing another means of doing the same thing?  If so, what's the advantage?  If not, then I'm not understanding your goal.

Author

Commented:
Outlook has the abilities built in, sure...

... But Access does not.

A VBA solution would make it extensible across all of Microsoft Office.

I want to open a user properties form from Access, and add/remove people to lists within Access.
CERTIFIED EXPERT
Top Expert 2010

Commented:
You can call Outlook's address book function from any Microsoft Office app using VBA.

Author

Commented:
How?
CERTIFIED EXPERT
Top Expert 2010
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
CERTIFIED EXPERT
Author of the Year 2010
Top Expert 2010

Commented:
This question has been classified as abandoned and is being closed as part of the Cleanup Program. See my comment at the end of the question for more details.

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.