Compartir a través de


Cómo: Buscar una dirección de correo electrónico en los contactos

Actualización: noviembre 2007

Se aplica a

La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office.

Tipo de proyecto

  • Proyectos de nivel de aplicación

Versión de Microsoft Office

  • Outlook 2003

  • Outlook 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

En este ejemplo se busca, en una carpeta de contactos, contactos que tengan el nombre de dominio example.com en sus direcciones de correo electrónico.

Ejemplo

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
    MessageBox.Show(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);
}

Compilar el código

Para este ejemplo se necesitan:

  • Contactos que tengan el nombre de dominio example.com en sus direcciones de correo electrónico (por ejemplo, somebody@example.com) y que tengan nombres y apellidos.

Vea también

Tareas

Cómo: Enviar un correo electrónico mediante programación

Cómo: Obtener acceso a los contactos de Outlook

Cómo: Agregar una entrada a los contactos de Outlook

Conceptos

Trabajar con contactos