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


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

Этот пример выполняет поиск определенного контакта в папке контактов Outlook по имени и фамилии.В этом примере предполагается, что в папке контактов существует контакт с именем Вася Петров.

Применение. Сведения этого раздела применяются к проектам уровня приложения для Outlook 2013 и Outlook 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.

Пример

Private Sub ThisAddIn_Startup(ByVal sender As Object, _
     ByVal e As System.EventArgs) Handles Me.Startup
    FindContactEmailByName("John", "Evans")
End Sub

Private Sub FindContactEmailByName(ByVal firstName As String, _
    ByVal lastName As String)
    Dim outlookNameSpace As Outlook.NameSpace = Me.Application.GetNamespace("MAPI")
    Dim contactFolder As Outlook.MAPIFolder = _
        outlookNameSpace.GetDefaultFolder( _
        Outlook.OlDefaultFolders.olFolderContacts)

    Dim contactItems As Outlook.Items = contactFolder.Items

    Try
        Dim contact As Outlook.ContactItem = _
            CType(contactItems.Find(String.Format _
            ("[FirstName]='{0}' and [LastName]={1}", _
            firstName, lastName)), Outlook.ContactItem)

        If contact IsNot Nothing Then
            contact.Display()
        Else
            MsgBox("The contact information was not found.")
        End If

    Catch ex As Exception
        Throw ex
    End Try
End Sub
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            FindContactEmailByName("John", "Evans");
        }

        private void FindContactEmailByName(string firstName, string lastName)
        {
            Outlook.NameSpace outlookNameSpace = this.Application.GetNamespace("MAPI");
            Outlook.MAPIFolder contactsFolder =
                outlookNameSpace.GetDefaultFolder(
                Microsoft.Office.Interop.Outlook.
                OlDefaultFolders.olFolderContacts);

            Outlook.Items contactItems = contactsFolder.Items;

            try
            {
                Outlook.ContactItem contact =
                    (Outlook.ContactItem)contactItems.
                    Find(String.Format("[FirstName]='{0}' and "
                    + "[LastName]='{1}'", firstName, lastName));
                if (contact != null)
                {
                    contact.Display(true);
                }
                else
                {
                    MessageBox.Show("The contact information was not found.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

См. также

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

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

Приступая к программированию надстроек на уровне приложения