Autofill Field's In Outlook 2007 New Contacts

I'm using Microsoft Outlook for the first time for work, and I'm adding in a lot of contacts from my department. Is there a way to make it so it gives me an auto-complete option for a company I've listed before? Not to mention the other fields?

Also, can I make it automatically create contacts for anyone who sends me an email? Or anyone I email to?

Who is Participating?
David LeeConnect With a Mentor Commented:
Hi, laneybeal.

Outlook doesn't have an autocomplete for filling in contacts, but it does have an option for creating a new contact for another person from the same company.  Select a contact, then click Actions > New Contact from Same Company.  Outlook will create a new contact with all the company details filled in.

Outlook does not have the ability to automatically create contacts for messages you receive.  However, you can add that capability with a simple bit of scripting.  I can help with that if you're interested.
laneybealAuthor Commented:
I'd love for some information on how to do that.

Thank you.
David LeeCommented:
Ok, here the code that does this.  Follow these instructions to use it.

1.  Start Outlook
2.  Click Tools > Macro > Visual Basic Editor
3.  If not already expanded, expand Microsoft Office Outlook Objects
4.  If not already expanded, expand Modules
5.  Select an existing module (e.g. Module1) by double-clicking on it or create a new module by right-clicking Modules and selecting Insert > Module.
6.  Copy the code from the Code Snippet box and paste it into the right-hand pane of Outlook's VB Editor window
7.  Edit the code as needed.  I included comments wherever something needs to or can change
8.  Click the diskette icon on the toolbar to save the changes
9.  Close the VB Editor
10. Create a rule that fires for all messages
11. Set the rule's action to "run a script" and select this script as the one to run.
Sub AutoAddContact(Item As MailItem)
    Dim objContacts As MAPIFolder, _
        objContact As ContactItem, _
        objSelected As Selection, _
        objItem As Object, _
        objReply As MailItem, _
        objRecip As Recipient, _
        strAddress As String
    Set objContacts = Outlook.Application.Session.GetDefaultFolder(olFolderContacts)
    Set objContact = objContacts.Items.Find("[FullName] = " & Chr(34) & Item.SenderName & Chr(34))
    If TypeName(objContact) = "Nothing" Then
        Set objContact = Application.CreateItem(olContactItem)
        Set objReply = Item.Reply
        Set objRecip = objReply.Recipients.Item(1)
        If Err = 0 Then
            strAddress = objRecip.Address
            If strAddress = "" Then
                strAddress = objRecip.Name
            End If
        End If
        With objContact
            .Email1Address = strAddress
            .FullName = Item.SenderName
            .Body = "Record created automatically on " & Date & " at " & Time & " by BlueDevilFan's script."
        End With
    End If
    Set objContact = Nothing
    Set objContacts = Nothing
    Set objSelected = Nothing
    Set objItem = Nothing
    Set objReply = Nothing
    Set objRecip = Nothing
End Sub

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.