Condividi tramite


Procedura: eseguire la ricerca di un contatto specifico

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di applicazione

Versione Microsoft Office

  • Outlook 2003

  • Outlook 2007

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

In questo esempio viene ricercato in una cartella di contatti di Outlook un contatto specifico in base al nome e al cognome. Nell'esempio si presuppone che nella cartella dei contatti esista un contatto denominato John Evans.

Esempio

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

Vedere anche

Concetti

Utilizzo dei contatti

Guida introduttiva alla programmazione di componenti aggiuntivi a livello di applicazione