Импорт файла ics в Outlook.AppointmentItem - PullRequest
14 голосов
/ 04 марта 2010

У меня есть надстройка Outlook 2007, которая пытается импортировать файлы ics в объекты Outlook.AppointmentItem, чтобы я мог читать атрибуты определенных встреч. В настоящее время я не могу читать картинки обратно в память. Любые предложения о том, что я делаю неправильно.

Outlook.Application app = new Outlook.Application();
var item = app.Session.OpenSharedItem("C:\\meeting.ics") as Outlook.AppointmentItem;
string meetingBody = item.Body; //<--*my item is null*

Спасибо

Ответы [ 3 ]

1 голос
/ 09 ноября 2012

Это может быть потому, что этот файл ics просто представляет элемент встречи, а не элемент встречи. Насколько я знаю, вы можете попробовать использовать код, приведенный ниже,

Outlook.MeetingItem item = app.Session.OpenSharedItem(@"C:\SomeMeeting.ics") as Outlook.MeetingItem;

Если у вас есть какие-либо вопросы по этому поводу, пожалуйста, не стесняйтесь.

http://social.msdn.microsoft.com/Forums/en-GB/vsto/thread/f98bfa75-a995-403e-a3fc-5be3a37511d7

1 голос
/ 09 января 2015

Просто проверьте его тип

            Set attObj = ns.OpenSharedItem(strFilename)                

            Select Case TypeName(attObj)
                Case "MeetingItem"
                    Dim miNewMeetingItem As Outlook.MeetingItem
                    Set miNewMeetingItem = attObj
                    ...
                Case "AppointmentItem"
                    Dim miNewAppointmentItem As Outlook.AppointmentItem
                    Set miNewAppointmentItem = attObj
                    ...
                Case Else
                    Dim miNew As Outlook.MailItem
                    Set miNew = attObj
                    ...
            End Select

            Set attObj = Nothing
1 голос
/ 08 декабря 2011

Я думаю, что проблема связана с тем, что AppointmentItem и MeetingItem - это разные классы, поэтому вы не можете конвертировать один в другой напрямую. Не могли бы вы попробовать следующее и проверить, работает ли оно?

var item = app.Session.OpenSharedItem(@"C:\meeting.ics") as Outlook.AppointmentItem;
...