14

特定の予定に関する属性を読み取れるように、ICSファイルをOutlook.AppointmentItemオブジェクトにインポートしようとしているOutlook2007アドインがあります。現在、ICSをメモリに読み戻すことができません。私が間違っていることについての提案。

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*

ありがとう

4

3 に答える 3

1

問題は、 AppointmentItemMeetingItemが異なるクラスであるため、直接変換できないことが原因だと思います。以下をお試しいただき、動作するかご確認いただけますでしょうか。

var item = app.Session.OpenSharedItem(@"C:\meeting.ics") as Outlook.AppointmentItem;
于 2011-12-08T09:27:25.777 に答える
1

そのタイプを確認するだけです

            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
于 2015-01-09T17:45:32.353 に答える
1

これは、この 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

于 2012-11-09T05:27:40.863 に答える