2013-03-19 18 views
0

我使用interrop來處理Outlook中的更改事件,因此當calandar項目被鎖定時,我可以顯示一條消息。問題在於它將事件觸發了3次:s。.net Interrop Outlook ItemChangeEvent觸發多次

這裏是代碼:

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 

任何幫助嗎?

+0

事件對我來說也是3次,只保存一次,事件也只記錄一次。 – Kyle 2013-08-12 18:30:37

回答

0

如果一個項目被保存3次,該事件將被觸發3次。

你如何設置事件處理程序?是否有可能您設置了3次事件掛鉤?

如果您查看OutlookSpy中的文件夾,甚至會觸發多少次?單擊OutlookSpy工具欄上的文件夾按鈕(「Outlook對象模型」組),選擇項目屬性,單擊瀏覽。在新的項目窗口中,轉到事件選項卡。修改約會,查看「事件」選項卡底部的「日誌」框。

+0

感謝您的迴應德米特里,我不能使用OutlookSpy它在辦公室禁止是否有任何其他方法知道發送了什麼和接收了什麼 – Bouam 2013-03-20 09:22:07

0

我有同樣的問題,但發現它與事件處理程序無關。發生多個事件的原因是,我安裝了HotMail連接器,並且這將在同步時修改兩個項目。