Search code examples
vbscriptoutlook

get contact information for a particular email address


I am trying to write a script that would

  1. go through a list of email addresses from my domain
  2. for each of these emails addressess get the display name and job title
  3. output the email, display name, job title to a csv file

I am sure this is fairly simply, the only problem that I have here is that I have no idea how to access the contact card of a contact.

How do I pass the strAddress variable to a olContactItem object?

EDIT: To improve the question - I don't know how can I view the contact of the existing [email protected] from a list of email addresses in a csv file (not added to my contacts list or anything)

The code I have so far:

Const olContactItem = 2
strEmail = "[email protected]"

set fso = CreateObject("Scripting.FileSystemObject")
set appOutlook = CreateObject("Outlook.Application")
Set MyItem = appOutlook.CreateItem(olContactItem)
With MyItem
    .Email1Address = strEmail
    .jobTitle = strJobTitleVar
End With

I need to open the addess book page of that person, extract the values of Job Title and Display Name to relevant variables. However, I get stuck, because I get to a point where I am rather adding a new contact than viewing the existing person's info.

Is this more clear? How can I search through the address book for a particular person's info?


Solution

  • Answering my own question - this seems to be doing everything I need:

    strInputEmail = objInputFile.ReadLine
    set appOutlook = CreateObject("Outlook.Application")
    set objNameSpace = appOutlook.GetNameSpace("MAPI")
    set objContacts = objNameSpace.GetDefaultFolder(olFolderContacts)
    Set objContact = objContacts.Items.Find("[IMAddress] = """ & strInputEmail & """")
    
    strFullName = objContact.FullName
    strJobTitle = objContact.JobTitle
    strBusinessAddress = objContact.BusinessAddress
    msgBox strFullName & strJobTitle & strBusinessAddress
    

    It reads the inputfile, gets the email address as a variable, finds the person, gets the particular info as variables.

    Thanks for help anyway!