Управление элементами календаря в файлах PST
Добавить календарь MAPI в PST
Создание и управление PST‑файлами показывает, как создать файл PST и добавить в него подпапку. С помощью Aspose.Email вы можете добавить MapiCalendar в подпапку Calendar файла PST, который вы создали или загрузили. Ниже приведены шаги по добавлению MapiCalendar в PST:
- Создайте MapiCalendar объекта.
- Установите MapiCalendar свойства с помощью конструктора и методов.
- Создайте PST с помощью PersonalStorage.Create() метод.
- Создайте предопределённую папку (Calendar) в корне PST‑файла, получив доступ к корневой папке и затем вызвав AddMapiMessageItem() метод.
Ниже показан фрагмент кода, демонстрирующий создание MapiCalendar а затем добавить его в папку календаря нового созданного файла PST.
Сохранить элементы календаря на диск в формате ICS
В этой статье показано, как получить доступ к элементам календаря из файла Outlook PST и сохранить календарь на диск в формате ICS. Используйте PersonalStorage и MapiCalendar классы для получения информации о календаре. Ниже приведены шаги по сохранению элементов календаря:
- Загрузить PST‑файл в PersonalStorage класс.
- Просмотрите папку Calendar.
- Получите содержимое папки Calendar, чтобы получить коллекцию сообщений.
- Перебрать коллекцию сообщений.
- Вызвать PersonalStorage.ExtractMessage() метод для получения информации о контакте в MapiCalendar класс.
- Вызвать MapiCalendar.Save() метод для сохранения элемента календаря на диск в формате ICS.
Приведённая ниже программа загружает PST‑файл с диска и сохраняет все элементы календаря в формате ICS. Файлы ICS затем можно использовать в любой другой программе, способной открыть стандартный календарный файл ICS. При открытии в Microsoft Outlook файл ICS выглядит как на скриншоте ниже.
![]() |
|---|
В следующем фрагменте кода показано, как экспортировать элементы календаря из Outlook PST в формат ICS.
Сохранить с оригинальной меткой времени
Доступны следующие возможности для сохранения элементов календаря как ICS с сохранением их оригинальных даты и времени:
-
MapiCalendarIcsSaveOptions - Позволяет указывать дополнительные параметры при сохранении MapiCalendar в формат Ics.
-
MapiCalendarIcsSaveOptions.KeepOriginalDateTimeStamp - Позволяет сохранять оригинальное значение DateTimeStamp в выходном файле.
Используйте пример кода ниже, чтобы внедрить функции в ваш проект:
var cal = pst.ExtractMessage(msgInfo).ToMapiMessageItem() as MapiCalendar;
if (cal != null)
{
cal.Save("cal.ics", new MapiCalendarIcsSaveOptions() { KeepOriginalDateTimeStamp = true});
}
Изменение/удаление повторений из серий
Исключения могут быть добавлены к существующим повторениям с помощью API Aspose.Email для .NET. Следующий пример кода иллюстрирует использование этой функции.
