Управление элементами календаря в файлах PST

Добавить календарь MAPI в PST

Создание и управление PST‑файлами показывает, как создать файл PST и добавить в него подпапку. С помощью Aspose.Email вы можете добавить MapiCalendar в подпапку Calendar файла PST, который вы создали или загрузили. Ниже приведены шаги по добавлению MapiCalendar в PST:

  1. Создайте MapiCalendar объекта.
  2. Установите MapiCalendar свойства с помощью конструктора и методов.
  3. Создайте PST с помощью PersonalStorage.Create() метод.
  4. Создайте предопределённую папку (Calendar) в корне PST‑файла, получив доступ к корневой папке и затем вызвав AddMapiMessageItem() метод.

Ниже показан фрагмент кода, демонстрирующий создание MapiCalendar а затем добавить его в папку календаря нового созданного файла PST.

Сохранить элементы календаря на диск в формате ICS

В этой статье показано, как получить доступ к элементам календаря из файла Outlook PST и сохранить календарь на диск в формате ICS. Используйте PersonalStorage и MapiCalendar классы для получения информации о календаре. Ниже приведены шаги по сохранению элементов календаря:

  1. Загрузить PST‑файл в PersonalStorage класс.
  2. Просмотрите папку Calendar.
  3. Получите содержимое папки Calendar, чтобы получить коллекцию сообщений.
  4. Перебрать коллекцию сообщений.
  5. Вызвать PersonalStorage.ExtractMessage() метод для получения информации о контакте в MapiCalendar класс.
  6. Вызвать MapiCalendar.Save() метод для сохранения элемента календаря на диск в формате ICS.

Приведённая ниже программа загружает PST‑файл с диска и сохраняет все элементы календаря в формате ICS. Файлы ICS затем можно использовать в любой другой программе, способной открыть стандартный календарный файл ICS. При открытии в Microsoft Outlook файл ICS выглядит как на скриншоте ниже.

todo:image_alt_text

В следующем фрагменте кода показано, как экспортировать элементы календаря из Outlook PST в формат ICS.

Сохранить с оригинальной меткой времени

Доступны следующие возможности для сохранения элементов календаря как ICS с сохранением их оригинальных даты и времени:

Используйте пример кода ниже, чтобы внедрить функции в ваш проект:

var cal = pst.ExtractMessage(msgInfo).ToMapiMessageItem() as MapiCalendar;

if (cal != null)
{
  cal.Save("cal.ics", new MapiCalendarIcsSaveOptions() { KeepOriginalDateTimeStamp = true});
}

Изменение/удаление повторений из серий

Исключения могут быть добавлены к существующим повторениям с помощью API Aspose.Email для .NET. Следующий пример кода иллюстрирует использование этой функции.