Exibir na caixa de diálogo Selecionar Nomes no catálogo de endereços que corresponde a uma pasta Contatos
Este exemplo mostra como obter o catálogo de endereços que corresponde à pasta Contatos padrão e exibe o catálogo de endereços na caixa de diálogo Selecionar Nomes.
Exemplo
Todos os catálogos de endereços no Outlook são representados como um conjunto pela propriedade AddressLists do objeto NameSpace. O exemplo de código usa o método GetContactsFolder do objeto AddressList para localizar a pasta de contatos que corresponde a cada lista de endereços. Cada pasta do Outlook possui uma ID de entrada. Compare a ID de Entrada da pasta Contatos padrão com a ID de Entrada de uma pasta Contatos para produzir a ListaDeEndereços que corresponde à pasta Contatos padrão.
Antes de exibir a lista de endereços correspondente à pasta Contatos padrão na caixa de diálogo Selecionar Nomes, o exemplo de código a define como o valor da propriedade InitialAddressList do objeto SelectNamesDialog.
Se usar o Visual Studio para testar este exemplo de código, adicione primeiro uma referência ao componente da biblioteca de objetos do Microsoft Outlook 15.0 e especifique a variável do Outlook quando importar o namespace Microsoft.Office.Interop.Outlook. A instrução Imports ou using não deve vir diretamente antes de funções no exemplo de código, mas deve ser adicionada antes da declaração Class pública. The following lines of code show how to do the import and assignment in Visual Basic and C#.
Imports Outlook = Microsoft.Office.Interop.Outlook
using Outlook = Microsoft.Office.Interop.Outlook;
Private Sub ShowContactsFolderAsInitialAddressList()
Dim addrLists As Outlook.AddressLists
Dim contactsFolder As Outlook.Folder = _
CType(Application.Session.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderContacts), _
Outlook.Folder)
addrLists = Application.Session.AddressLists
For Each addrList As Outlook.AddressList In addrLists
Dim testFolder As Outlook.Folder = _
CType(addrList.GetContactsFolder(), Outlook.Folder)
If Not (testFolder Is Nothing) Then
' Test to determine if Folder returned
' by GetContactsFolder has same EntryID
' as default Contacts folder.
If (Application.Session.CompareEntryIDs( _
contactsFolder.EntryID, testFolder.EntryID)) Then
Dim snd As Outlook.SelectNamesDialog = _
Application.Session.GetSelectNamesDialog()
snd.InitialAddressList = addrList
snd.Display()
End If
End If
Next
End Sub
private void ShowContactsFolderAsInitialAddressList()
{
Outlook.AddressLists addrLists;
Outlook.Folder contactsFolder =
Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderContacts)
as Outlook.Folder;
addrLists = Application.Session.AddressLists;
foreach (Outlook.AddressList addrList in addrLists)
{
Outlook.Folder testFolder =
addrList.GetContactsFolder() as Outlook.Folder;
if (testFolder != null)
{
// Test to determine if Folder returned
// by GetContactsFolder has same EntryID
// as default Contacts folder.
if (Application.Session.CompareEntryIDs(
contactsFolder.EntryID, testFolder.EntryID))
{
Outlook.SelectNamesDialog snd =
Application.
Session.GetSelectNamesDialog();
snd.InitialAddressList = addrList;
snd.Display();
}
}
}
}