Outlook とアプリケーションの間で予定を同期するアプリケーションがあります。同期コードは Redemption を使用して Outlook の予定を更新します。
予定が Outlook に追加されると、私のコードはアイテム追加イベントをキャッチし、アプリケーションで同等の予定を生成し、予定 ID をユーザー プロパティとして Outlook 予定に追加して保存します。
私が抱えている奇妙な問題はこれです:
- 月ビューで日付をシングルクリック
- 日ブロックにテキスト ボックスが表示されたら、件名を入力して Enter キーを押します
- 新しい予定をダブルクリックして、すぐに開きます
- リマインダーを設定するなどの変更を加える
- 保存ボタンを押す
この時点で、Outlook に「別のユーザーまたは別のウィンドウで変更されたため、アイテムを保存できません」というメッセージ ボックスが表示されます。
予定の同期アドインを有効にしている場合、これは頻繁に発生しますが、無効にすると発生しません。
私のコードの変更を Outlook が Redemption 経由でユーザー プロパティを保存していることを検出し、気に入らないようです。
これは、Redemption が MAPI テーブルに直接アクセスしてデータを保存しているのに、Outlook が予定の COM オブジェクトをすばやく開いたときにまだキャッシュしているためです。私が開いた予定は、もう一度保存したいときまでに「古くなって」いますか?
私がテストしている Outlook のバージョンは Outlook 2016 です。