Partager via


Création d’une liste de distribution

Cet exemple montre comment créer une liste de distribution et la présenter à l’utilisateur.

Exemple

Remarque

L’exemple de code suivant est un extrait de programmation d’Applications pour Microsoft Office Outlook 2007.

Dans l’exemple de code suivant, CreateDistributionList crée une liste de distribution en appelant la méthode CreateItem(OlItemType) pour créer un objet DistListItem. Il crée ensuite un objet Table et appelle la méthode GetTable(Object, Object) pour rechercher dans le dossier Contacts par défaut tous les contacts dont la valeur de la propriété Subject est « Top Customer » et dont la valeur de la propriété Email1Address n’est pas vide. Une fois tous les contacts identifiés, le nom Email1Address est ajouté sous forme de colonne dans l’objet Table. CreateDistributionList crée ensuite un objet Recipient en utilisant la méthode CreateRecipient(String) de l’objet NameSpace. CreateDistributionList affiche enfin la liste de distribution « Top Customers » à l’utilisateur.

Remarque

Nous vous recommandons de transmettre un objet Recipient résolu en tant que paramètre à la méthode AddMember(Recipient) de l’objet DistListItem. Pour résoudre un objet Recipient, utilisez la méthode Resolve().

Si vous utilisez Visual Studio pour tester cet exemple de code, vous devez d’abord ajouter une référence au composant Bibliothèque d’objets Microsoft Outlook 15.0 et spécifier la variable lorsque vous importez l’espace de noms Microsoft.Office.Interop.Outlook. L’instruction using ne doit pas se produire juste avant les fonctions de l’exemple de code, mais doit être ajoutée avant la déclaration publique. La ligne de code suivante montre comment effectuer l’importation et l’affectation dans C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void CreateDistributionList()
{
    Outlook.DistListItem distList = Application.CreateItem(
        Outlook.OlItemType.olDistributionListItem)
        as Outlook.DistListItem;
    distList.Subject = "Top Customers";
    //Find top customer category in Contacts folder
    string filter = "[Categories] = 'Top Customer'"
        + " AND [Email1Address] <> ''";
    Outlook.Table table =
        Application.Session.GetDefaultFolder
        (Outlook.OlDefaultFolders.olFolderContacts).
        GetTable(filter, Outlook.OlTableContents.olUserItems);
    table.Columns.Add("Email1Address");
    while (!table.EndOfTable)
    {
        Outlook.Row nextRow = table.GetNextRow();
        Outlook.Recipient recip =
            Application.Session.CreateRecipient(
            nextRow["Email1Address"].ToString());
        //Resolve the Recipient before calling AddMember
        recip.Resolve();
        distList.AddMember(recip);
    }
    distList.Display(false);
}

Voir aussi