Comment : rechercher une adresse de messagerie dans les contacts par programmation

Cet exemple recherche, dans un dossier de contact, des contacts dont l'adresse électronique présente le même nom de domaine, example.com.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau application pour Outlook 2013 et Outlook 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Exemple

Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
    SearchForEmail("example.com")
End Sub

Public Sub SearchForEmail(ByVal partialAddress As String)
    Dim contactMessage As String = String.Empty
    Dim contacts As Outlook.MAPIFolder = Me.Application.ActiveExplorer().Session _
        .GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts)
    For Each foundContact As Outlook.ContactItem In contacts.Items
        If Not (foundContact.Email1Address Is Nothing) Then
            If foundContact.Email1Address.Contains(partialAddress) Then
                contactMessage = contactMessage & "New contact" _
                & foundContact.FirstName & " " & foundContact.LastName _
                & " Email Address is " & foundContact.Email1Address & _
                ". " & vbCrLf
            End If
        End If
    Next
    If contactMessage.Length > 0 Then
    Else
        contactMessage = "No Contacts were found."
    End If
    MsgBox(contactMessage)
End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    SearchforEmail("example.com");
}

private void SearchforEmail(string partialAddress)
{
    string contactMessage = string.Empty;
    Outlook.MAPIFolder contacts = (Outlook.MAPIFolder)
        this.Application.ActiveExplorer().Session.GetDefaultFolder
         (Outlook.OlDefaultFolders.olFolderContacts);
    foreach (Outlook.ContactItem foundContact in contacts.Items)
    {
        if (foundContact.Email1Address != null)
        {
            if (foundContact.Email1Address.Contains(partialAddress))
            {
                contactMessage = contactMessage + "New contact"
                + foundContact.FirstName + " " + foundContact.LastName
                + " Email Address is " + foundContact.Email1Address +
                ". \n";
            }
        }
    }
    if (!(contactMessage.Length > 0))
    {
        contactMessage = "No Contacts were found.";
    }
    MessageBox.Show(contactMessage);
}

Compilation du code

Cet exemple nécessite :

  • Des contacts dont l'adresse électronique présente le nom de domaine example.com (par exemple, somebody@example.com), et disposant de noms et de prénoms.

Voir aussi

Tâches

Comment : envoyer un message électronique par programmation

Comment : accéder à des contacts Outlook par programmation

Comment : ajouter une entrée aux contacts Outlook par programmation

Concepts

Utilisation des éléments de contact