0

NetOffice ライブラリを使用して Outlook アドインを開発していますが、問題は VSTO にも似ていると思います。

予定に関する次のイベントを Outlook で処理したいと考えています。

  • ユーザーは予定をドラッグアンドドロップして、予定の日付を変更します
  • ユーザーは予定の件名をダブルクリックし、カレンダー上で直接編集します
  • ユーザーは電子メールで ICS ファイルを取得し、予定に関する一部のデータを更新します。

とても簡単です:

        var exp = App.Session.GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
        (exp.Items as Items).ItemChangeEvent += Addin_ItemChangeEvent;

そのため、必要なケースごとに、イベント ハンドラーが起動します。ただし、問題は、予定の変更がカレンダーに対するユーザーの操作によるもの、受信した ICS ファイルによるものかを認識する必要があることです。

私は本当にそれに固執しました、何かヒントはありますか?

4

1 に答える 1

1

そのためにマークを使用できます。私は私の解決策を説明しようとします。各 Outlook アイテム (AppointmentItem および MailItem である可能性があります) にはプロパティがありUserProperties、 のようなマーク変数を作成string public const string ICSMark = "ICSMark"し、このマークで新しいユーザー プロパティを追加できますappointmentItem.UserProperties.Add(ICSMark, OlUserPropertyType.olText);。イベントが発生すると、このマークのアイテムを確認できます。UserProperty mark = appointmentItem.UserProperties.Find(ICSMark);マークが null でない場合は、ICS ファイルから更新されました。

于 2016-04-21T10:18:00.240 に答える