Работа с элементами календаря в PST‑файле
Добавление MapiCalendar в PST
Создать новый PST, добавить подпапки и сообщения показали, как создать PST‑файл и добавить к нему подпапку. С Aspose.Email вы можете добавить MapiCalendar в подпапку Calendar PST‑файла, который вы создали или загрузили.
Ниже приведены шаги для добавления MapiCalendar в PST:
- Создайте MapiCalendar объекта.
- Установите MapiCalendar свойства с помощью конструктора и методов.
- Создайте PST с помощью PersonalStorage.create() метод.
- Создайте предопределённую папку (Calendar) в корне PST‑файла, получив доступ к корневой папке и затем вызвав addMapiMessageItem() метод.
Ниже показан фрагмент кода, демонстрирующий как создать MapiCalendar и затем добавить её в папку Calendar недавно созданного PST‑файла.
Сохранение элементов календаря из Outlook PST на диск в формате ICS
В этой статье показано, как получить доступ к элементам календаря из PST‑файла Outlook и сохранить календарь на диск в формате ICS. Используется PersonalStorage и MapiCalendar классы для получения информации о календаре.
Ниже приведены шаги для сохранения элементов календаря:
- Загрузить PST‑файл в PersonalStorage класс.
- Просмотрите папку Calendar.
- Получите содержимое папки Calendar, чтобы получить коллекцию сообщений.
- Перебрать коллекцию сообщений.
- Вызвать PersonalStorage.extractMessage() метод для получения информации о контакте в MapiCalendar класс.
- Вызвать MapiCalendar.save() метод для сохранения элемента календаря на диск в формате ICS.
Приведённая ниже программа загружает PST‑файл с диска и сохраняет все элементы календаря в формате ICS. Файлы ICS затем можно использовать в любой другой программе, способной загружать стандартный календарный файл ICS. Если открыть любой файл ICS в Microsoft Outlook, он будет выглядеть как на скриншоте ниже.
|
| | :- | |Рисунок: Элемент календаря, сохранённый с помощью 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);
}