VBA Outlook - Obter informações de um contato vinculado - Get information from a linked contact




Só para convencionarmos, o MS Outlook não é um banco de dados relacional. Qualquer visão das suas pastas mostram apenas os dados contidos nela. Mesmo que o Outlook permita que pensemos de outra forma, nos permitindo adicionar campos de diferentes tipos de itens na pasta.

Este exemplo de código VBA mostra como adicionar os dados da conta de um contato vinculado a um AppointmentItem embutido no campo BillingInformation, que você pode adicionar à exibição da pasta Calendário. Este código tira vantagem do fato de que cada ligação resolvido na coleção AppointmentItem.Links tem uma propriedade item que aponta para o ContactItem.

Dim WithEvents m_colCalItems As Outlook.Items
Private Sub Application_Startup()
    Dim objNS As Outlook.NameSpace
    Set objNS = Application.GetNamespace("MAPI")
    Set m_colCalItems = objNS.GetDefaultFolder(olFolderCalendar).Items
    Set objNS = Nothing
End Sub

Private Sub m_colCalItems_ItemAdd(ByVal Item As Object)
    Dim objContact As Outlook.ContactItem
    Dim strAccount As String
    If Item.Links.Count = 1 Then
        Set objContact = Item.Links(1).Item
        strAccount = objContact.Account
        If strAccount <> "" Then
            Item.BillingInformation = strAccount
            Item.Save
        End If
    End If
    Set objContact = Nothing
End Sub
Private Sub m_colCalItems_ItemChange (ByVal Item As Object)
    Dim objContact As Outlook.ContactItem
    Dim strAccount As String
    Select Case Item.Links.Count
        Case 1
            Set objContact = Item.Links(1).Item
            strAccount = objContact.Account
            If strAccount <> Item.BillingInformation Then
                Item.BillingInformation = strAccount
                Item.Save
            End If
        Case 0
            If Item.BillingInformation <> "" Then
            Item.BillingInformation = ""
            Item.Save
        End If
    End Select
    Set objContact = Nothing
End Sub


Tags: VBA, Outlook, information, link, linked, contact, 

Nenhum comentário:

Postar um comentário

diHITT - Notícias