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


Перечисление элементов в папке "Входящие" с учетом времени последнего изменения

В этом примере показано, как перечислять элементы в папке "Входящие" с учетом времени последнего изменения.

Пример

Примечание.

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

Объект Table представляет набор элементов из объекта Folder или Search. Для получения объекта Table вызовите метод GetTable(Object, Object) для объекта Folder или Search. Каждый элемент возвращаемого объекта Table содержит только заданный по умолчанию поднабор свойств элемента. Каждый объект Row может считаться элементом в папке, а каждый объект Column — свойством элемента. Удаление, добавление или изменение строк в объекте Table не поддерживается. Для перечисления элементов в объекте Table сначала следует использовать свойство EndOfTable , чтобы определить, находится ли текущая позиция в конце таблицы. Если свойство EndOfTable возвращает значение false, используйте метод GetNextRow() для возврата объекта Row, который содержит заданное по умолчанию число объектов Column. Продолжайте итерацию в прямом направлении в объекте Table путем вызова метода GetNextRow, пока свойство EndOfTable не вернет значение true.

В следующем примере кода процедура DemoTableForInbox получает объект Table в папке "Входящие", сортирует объект Table с помощью свойства LastModificationTime и метода Sort(String, Object), после чего выполняет итерацию по таблице для записи темы каждого элемента в прослушиватели трассировки в коллекции Listeners.

Если вы используете Visual Studio для тестирования этого примера кода, сначала добавьте ссылку на компонент Microsoft Outlook 15.0 Object Library и задайте переменную Outlook при импорте пространства имен Microsoft.Office.Interop.Outlook. Инструкция using не должна находиться непосредственно перед функциями в примере кода, но ее нужно добавить перед объявлением общедоступного класса. В следующей строке кода показано, как выполнить импорт и назначение в C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void DemoTableForInbox()
{
    //Obtain Inbox
    Outlook.Folder folder =
        Application.Session.GetDefaultFolder(
        Outlook.OlDefaultFolders.olFolderInbox)
        as Outlook.Folder;
    //Obtain Table using defaults
    Outlook.Table table =
        folder.GetTable(Type.Missing, Type.Missing);
    table.Sort("LastModificationTime",
        Outlook.OlSortOrder.olDescending);
    while (!table.EndOfTable)
    {
        Outlook.Row nextRow = table.GetNextRow();
        Debug.WriteLine(nextRow["Subject"]);
    }
}

См. также