如何:搜索特定联系人
该示例按名和姓在 Outlook 联系人文件夹中搜索特定的联系人。 此示例假定联系人文件夹中存在名为 John Evans 的联系人。
**适用于:**本主题中的信息适用于 Outlook 2007 和 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;
}
}