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