Open.ics с Outlook 2013 для чтения элементов

Это характерно для Office 2013.

В предыдущих версиях Office (2010) у меня был сценарий, который загружал вложение .ics и затем сохранял его в моем календаре. После загрузки .ics я перебираю файл .ics и копирую все AppointmentItem в свой календарь.

Dim oSharedFolder As Outlook.folder
Set oSharedFolder = _
    Application.GetNamespace("MAPI").OpenSharedFolder( _
    "C:\Temp\1421940003_event.ics")

Однако в 2013 году VBA метод OpenSharedFolder больше не позволяет мне это делать, говоря: «Операция не удалась». Изучая документацию MSDN, я вижу:

OpenSharedFolder — Этот метод не поддерживает файлы встреч iCalendar (.ics). Чтобы открыть файлы встреч iCalendar, вы можете использовать метод OpenSharedItem объекта NameSpace

Ок, отлично! Вместо этого они изменили имя на OpenSharedItem (не обращайте внимания на их пример с использованием файла .ics... с той же ошибкой). Однако, когда я захожу туда, я вижу:

OpenSharedItem — Этот метод не поддерживает файлы календаря iCalendar (.ics). Чтобы открыть файлы календаря iCalendar, вы можете использовать метод OpenSharedFolder объекта NameSpace

Таким образом, оба они ссылаются друг на друга — я мог бы добавить, что это неправильно, поскольку оба не работают, хотя оба примера говорят, что они работают для ics-файлов.

Мой вопрос:

  • Как я могу открыть файл .ics с помощью Outlook 2013 vba?

person enderland    schedule 21.04.2015    source источник


Ответы (1)


Я могу думать только о том, чтобы либо явно проанализировать файл ICS в вашем коде, либо использовать Redemption: это позволит вам импортировать поскольку файлы ICS событий используют RDOAppointmentItem.Import(..., olICal), но это тоже не позволит вам обрабатывать несколько событий в одном файле ICS...

person Dmitry Streblechenko    schedule 21.04.2015