2016-09-30 5 views
-1

Я создал перспективный план встречи с C#. И я сохранил globalid для databese. Теперь мне нужно обновить план собрания, который я создал с помощью C#. Не могли бы вы помочь мне решить эту проблему?Как обновить внешний вид с помощью C#?

С наилучшими пожеланиями Firat

ответ

0

Какой идентификатор? GlobalAppointmentID или EntryID? В случае EntryID вы можете использовать Namespace.GetItemFromID, но, поскольку назначение воссоздается Outlook при обработке обновлений собрания, изменяется его идентификатор записи и GetItemFromID.

GlobalAppointmentID - путь (это то, что сам Outlook использует при обработке обновлений/аннулирования), но, к сожалению, объектная модель Outlook не позволит вам искать двоичные (PT_BINARY) свойства, поэтому лучше всего вы можете сделать цикл через все элементы в папке «Календарь». Вам нужно будет использовать Extended MAPI (C++ или Delphi) или Redemption (на любом языке) - (RDOtems .Find/FindNext/Restrict` в Redemption позволяют выполнять поиск по бинарным свойствам).

Redemption.RDOSession session = new Redemption.RDOSession(); 
session.MAPIOBJECT = outlookApp.Session.MAPIOBJECT; //share the Outlook session 
RDOFolder calendarFolder = session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar); 
Redemption.RDOAppointmentItem appointmentItem = calendarFolder.Items.Find("GlobalAppointmentID = '"+TheGlobalAppointmentId+ "'");