+ Reply to Thread
Results 1 to 5 of 5

VBA code to create new Contacts field in Outlook

  1. #1
    Paul
    Guest

    VBA code to create new Contacts field in Outlook

    I want to check Outlook Contacts to see if a field exists and if not then to
    create it. Please can anyone help me with the code for this?

    I have tried the following to create a field but without success:

    dim objContacts as outlook.application
    Set myProp = objContacts.UserProperties.Add("MyNewField", olText)

    Please help. Thanks

  2. #2
    Forum Contributor
    Join Date
    12-11-2004
    MS-Off Ver
    2007
    Posts
    137
    Hello Paul

    I hope this help you



    Add a contact

    Sub AddContactOutlook()
    'activate Microsoft Outlook xx.x Object Library
    Dim objOutlook As New Outlook.Application
    Dim objContact As contactItem

    Set objContact = objOutlook.createItem(olContactItem)

    With objContact
    .email1Address = "[email protected]"
    .FirstName = "firstName"
    .lastName = "lastName"
    .homeTelephoneNumber = "00 00 00 00 00"
    .homeAddressCity = "theCity"
    .Save
    End With
    End Sub



    control if a firstName exist in the contacts list

    Sub controleFirstName_contactsOutlook()
    'activate Microsoft Outlook xx.x Object Library
    Dim olApp As New Outlook.Application
    Dim Cible As Outlook.contactItem
    Dim dossierContacts As Outlook.MAPIFolder

    Set olApp = New Outlook.Application
    Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)

    Set Cible = dossierContacts.Items.Find("[FirstName] = ""firstName""")
    If Not Cible Is Nothing Then
    MsgBox "Exist"
    Else
    MsgBox "Does not exist"
    End If
    End Sub



    Regards,
    michel

  3. #3
    Paul
    Guest

    Re: VBA code to create new Contacts field in Outlook



    "michelxld" wrote:

    >
    > Hello Paul
    >
    > I hope this help you
    >
    >
    >
    > Add a contact
    >
    > Sub AddContactOutlook()
    > 'activate Microsoft Outlook xx.x Object Library
    > Dim objOutlook As New Outlook.Application
    > Dim objContact As contactItem
    >
    > Set objContact = objOutlook.createItem(olContactItem)
    >
    > With objContact
    > .email1Address = "[email protected]"
    > .FirstName = "firstName"
    > .lastName = "lastName"
    > .homeTelephoneNumber = "00 00 00 00 00"
    > .homeAddressCity = "theCity"
    > .Save
    > End With
    > End Sub
    >
    >
    >
    > control if a firstName exist in the contacts list
    >
    > Sub controleFirstName_contactsOutlook()
    > 'activate Microsoft Outlook xx.x Object Library
    > Dim olApp As New Outlook.Application
    > Dim Cible As Outlook.contactItem
    > Dim dossierContacts As Outlook.MAPIFolder
    >
    > Set olApp = New Outlook.Application
    > Set dossierContacts =
    > olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
    >
    > Set Cible = dossierContacts.Items.Find("[FirstName] = ""firstName""")
    > If Not Cible Is Nothing Then
    > MsgBox "Exist"
    > Else
    > MsgBox "Does not exist"
    > End If
    > End Sub
    >
    >
    >
    > Regards,
    > michel
    >
    >
    > --
    > michelxld
    > ------------------------------------------------------------------------
    > michelxld's Profile: http://www.excelforum.com/member.php...o&userid=17367
    > View this thread: http://www.excelforum.com/showthread...hreadid=478209
    >
    >

    Thank you michelxd but this is not what I was after.

    I have about 250 contacts in Outlook. I also have an Excel address book that
    I have created with about 50 fields, 6 of which do not appear in the
    'standard' Outlook list of contact fields.

    For instance my Excel address book has fields for the details of a partner's
    name ie Title2, FirstName2, LastName2, Birthday2 etc.

    What I want to do is to create extra fields for each contact in the Outlook
    contacts so that I can upload the Excel field values into Outlook.
    For example, if my first contact is 'FileAs' = "Bloggs, Fred" then I wish to
    add a field entitled "Title2" for that contact and enter the value "Mrs", add
    the filed "FirstName2" and enter the value "Freda", add the field "LastName2"
    and enter the value "Bloggs".

    I can add a UserProperty field to the ContactsFolder but cannot get to add
    the field into each contact.

    Any ideas please?




  4. #4
    Forum Contributor
    Join Date
    12-11-2004
    MS-Off Ver
    2007
    Posts
    137
    Hello Paul

    sorry , i don't undersand your question

    this example controls if a UserProperty named "MyCustomField" exist (for all contatcs) , and add it if does not exist


    Sub control_Or_Add_userProperty_contactsOutlook()
    'activate Microsoft Outlook xx.x Object Library
    Dim olApp As New Outlook.Application
    Dim Cible As Outlook.contactItem
    Dim dossierContacts As Outlook.MAPIFolder
    Dim myProp As Outlook.UserProperty

    Set olApp = New Outlook.Application
    Set dossierContacts = olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)

    For Each Cible In dossierContacts.Items
    Set myProp = Cible.UserProperties("MyCustomField")

    If myProp Is Nothing Then
    Set myProp = Cible.UserProperties.Add("MyCustomField", olText)
    myProp.Value = "My data"
    Cible.Save
    End If

    Next
    End Sub


    Regards ,
    michel

  5. #5
    Paul
    Guest

    Re: VBA code to create new Contacts field in Outlook

    Hello Michel

    Thanks for the post - I can now see the light.

    Many thanks

    Paul

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1