Поделиться через


Практическое руководство. Поиск адреса электронной почты в контактах

Обновлен: Ноябрь 2007

Применимость

Сведения в данном разделе относятся только к указанным проектам Visual Studio Tools for Office и версиям приложений Microsoft Office.

Тип проекта

  • Проекты уровня приложения

Версия Microsoft Office

  • Outlook 2003

  • Outlook 2007

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

В этот примере производится поиск в папке контактов на контакты, имеющие имя домена example.com в своих адресах электронной почты.

Пример

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);
}

Компиляция кода

Для этого примера требуются:

  • Контакты, имеющие имя домена example.com в своих адресах электронной почты (например, somebody@example.com), а также имеющие имена и фамилии.

См. также

Задачи

Практическое руководство. Отправка сообщений электронной почты программными средствами

Практическое руководство. Доступ к контактам Outlook

Практическое руководство. Добавить запись в контакты Outlook

Основные понятия

Работа с элементами контактов