Работа с элементами календаря в PST‑файле

Добавление MapiCalendar в PST

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

Ниже приведены шаги для добавления MapiCalendar в PST:

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

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

Сохранение элементов календаря из Outlook PST на диск в формате ICS

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

Ниже приведены шаги для сохранения элементов календаря:

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

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

|todo:image_alt_text| | :- | |Рисунок: Элемент календаря, сохранённый с помощью Aspose.Email|

Извлечение элементов календаря из PST‑файла

Класс MapiCalendar представляет элемент календаря в формате Microsoft Outlook MAPI. Извлеките сообщение из PST‑файла и преобразуйте его в элемент сообщения MAPI. Следующий пример кода извлекает элемент календаря из PST‑файла и преобразует его в объект MapiCalendar для дальнейшей манипуляции или обработки:

MapiCalendar cal = (MapiCalendar) pst.extractMessage(messageInfo).toMapiMessageItem();

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

Используйте приведённый выше пример кода, чтобы извлечь элемент календаря из PST‑файла, а затем задать дополнительные параметры для сохранения его в формате ICS с оригинальной меткой времени, используя setKeepOriginalDateTimeStamp метод MapiCalendarIcsSaveOptions класс:

MapiCalendar cal = (MapiCalendar) pst.extractMessage(messageInfo).toMapiMessageItem();

if (cal != null) {
    MapiCalendarIcsSaveOptions so = new MapiCalendarIcsSaveOptions();
    so.setKeepOriginalDateTimeStamp(true);
    cal.save("cal.ics", so);
}

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