MailItemで何が変更されたのかを知りたい。PropertyChangeイベントを実装するにはどうすればよいですか?
私は、Application.Session.Folders( "TargetFolder")に基づいて、変数に次のようにItemChangeをトリガーすることができました: Private Sub olInvMbxItems_ItemChange(ByVal X As Object)
。
X
で変更されたプロパティを知りたいと思います。 X
をPrivate Sub X_PropertyChange(ByVal x As Object)
のグローバル変数に渡すと、X
が最初のパスItemChange
で初期化されなかったため、最初の繰り返しが欠落します。
カテゴリ変更を検出するMailItemsのフォルダを監視するにはどうすればよいですか。 ItemChangeはこれを行いながら、私は特定のカテゴリを探している場合、ここで述べたように、多くの変更がItemChangeをトリガーとして、それは、アクションの重複を与える:
Handle ItemChange event when outlook appointments are dismissed
、ここで:
Outlook Macro that will copy an email I flag and put it in a folder
バイナリ2番目の項目のUserPropertiesのフラグは、1回限りのイベントではないため機能しません。
Outlook Events VBAはにPropertyChangeを使用することを言いますが、実装するための技術を提供していません。
。特に、他のシステムがアイテムを変更する可能性がある場合は、おそらくユーザー定義フィールドに古いカテゴリコードを保存し、アイテムを定期的にループする必要があります(30分ごとにコードを実行します)(https://stackoverflow.com/questions/12257985/outlook-vba-run-a-code-each-hour-hour-hour)、またはリマインダをトリガして、現在のcatコードが一致するかどうかを確認します。 – niton
私はこの問題を解決するために家に帰るときにその方向性を学んでいます。 ItemChangedがトリガされたときにローカルコピーを登録して変更をチェックすることができます。UserPropertyとしてキャッシュされたカテゴリのコピーは、理想的には動作します。私は進歩するように物事を更新します。 – EFH
あなたはまだ項目を変更しようとするかもしれませんが、他のシステムで行われたItemChangeやPropertyChangeを認識できないことをお勧めします。この場合、現在のcatコードと保存されたcatコードを定期的に比較します。 – niton