0

Outlookでイベントの変更を処理するためにinterropを使用しているので、カレンダーアイテムが変更されたときにメッセージを表示できます。問題は、イベントが3回発生することです:s。

ここにコードがあります:

Private Sub mCalendarItems_ItemChangeEvent(ByVal Item As NetOffice.COMObject) Handles                     mCalendarItems.ItemChangeEvent
           Dim i As outlook.AppointmentItem = Nothing
           i = DirectCast(Item, outlook.AppointmentItem) 
        If i IsNot Nothing Then
            MessageBox.Show("Vous venez de modifier la tâche " & i.Subject)
            Application.DoEvents()
         End If
    i = Nothing End Sub

何か助けはありますか?

4

2 に答える 2

0

アイテムが3回保存されると、イベントは3回発生します。

イベントハンドラーをどのように設定しますか?イベントフックを3回設定することは可能ですか?

OutlookSpyでフォルダを見ると、何回起動しますか?OutlookSpyツールバー([Outlookオブジェクトモデル]グループ)の[フォルダー]ボタンをクリックし、[アイテム]プロパティを選択して、[参照]をクリックします。新しい[アイテム]ウィンドウで、[イベント]タブに移動します。予定を変更します。[イベント]タブの下部にある[ログ]ボックスを確認します。

于 2013-03-19T16:30:24.280 に答える
0

私は同じ問題を抱えていましたが、それはイベントハンドラーとは何の関係もないことがわかりました。複数のイベントが発生した理由は、HotMailコネクタがインストールされているため、同期時にアイテムが2回変更されるためです。

于 2014-01-13T13:54:48.780 に答える