VBA Outlook - Retorna um Nome - Return a Single Name

















Podemos automatizar alguns aspectos na utilização do MS Outlook. A seguir retorna um único nome do Catálogo de Endereços e avisa ao usuário se mais de um nome foi escolhido. Lembre-se, este exemplo não é necessariamente funcional, mas um modo de você conhecer como manipular as funcionalidades do seu MS Outlook.

O script a seguir retorna um único nome do livro de endereços e avisa o utilizador se mais do que um nome foi escolhido:

Function GetOneNameViaCDO()
    Const cdoE_USER_CANCEL = &H80040113

    ' start CDO session
    Set objSession = CreateObject("MAPI.Session")
    objSession.Logon , , False, False
    On Error Resume Next
    Set colCDORecips = objSession.AddressBook(, _
                       "Pick a Name", , , 1, _
                       "My Choice")
    If Err = 0 Then
        If colCDORecips.Count <> 1 Then
            MsgBox "Please choose exactly 1 name.", , _
                "Chose One Name"
        Else
            strName = _
              colCDORecips.Item(1).AddressEntry.Name
            If Err = 287 Then 
                ' security block triggered
                MsgBox "Outlook cannot return " & _
                       "a name, because " & _
                       "you clicked No on the " & _
                       "e-mail address access " & _
                       "dialog. You need to try " & _
                       "again and click Yes " & _
                       "this time.", , _
                       "E-mail Address Access"
                End If
            End If
        ElseIf Err = cdoE_USER_CANCEL Then
            ' user canceled the address book dialog -
            ' do nothing or provide a message to user
        End If

    GetOneNameViaCDO = strName

    ' release objects
    objSession.Logoff
    Set colCDORecips = Nothing
    Set objSession = Nothing
End Function


Tags: VBA, Outlook, name, Catálogo de endereços



Nenhum comentário:

Postar um comentário

diHITT - Notícias