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


Создание списка рассылки

В этом примере показано, как создать список рассылки и отобразить его пользователю.

Пример

Примечание.

Приведенный ниже пример кода представляет собой фрагмент из книги Программирование приложений для Microsoft Office Outlook 2007.

В следующем примере кода CreateDistributionList создает список рассылки путем вызова метода CreateItem(OlItemType) для создания объекта DistListItem. Затем создается объект Table и вызывается метод GetTable(Object, Object) для поиска всех контактов в выбранной по умолчанию папке "Контакты", свойство которой Subject имеет значение "Top Customer" (лучший клиент), а значение свойства Email1Address не является пустым. После определения всех контактов имя Email1Address добавляется в качестве столбца в объект Table. Затем с помощью CreateDistributionList создается объект Recipient путем применения метода CreateRecipient(String) из объекта NameSpace. Наконец, CreateDistributionList показывает пользователю список рассылки "Top Customers" (лучшие клиенты).

Примечание.

Необходимо передать разрешенный объект Recipient в качестве параметра для метода AddMember(Recipient) объекта DistListItem. Чтобы разрешить объект Recipient, используйте метод Resolve().

Если вы используете Visual Studio для тестирования этого примера кода, сначала добавьте ссылку на компонент Microsoft Outlook 15.0 Object Library и задайте переменную Outlook при импорте пространства имен Microsoft.Office.Interop.Outlook. Инструкция using не должна находиться непосредственно перед функциями в примере кода, но ее нужно добавить перед объявлением общедоступного класса. В следующей строке кода показано, как выполнить импорт и назначение в 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);
}

См. также