Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Startup
Dim ns As Outlook.NameSpace = Me.Application.GetNamespace("MAPI")
Me._colCalendarItems = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar).Items
Me._colDeletedItems = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderDeletedItems).Items
AddHandler Me._colCalendarItems.ItemAdd, AddressOf Me.colCalendarItems_ItemAdd
AddHandler Me._colCalendarItems.ItemChange, AddressOf Me.colCalendarItems_ItemChange
Marshal.ReleaseComObject(ns)
End Sub
Private Sub colCalendarItems_ItemChange(ByVal Item As Object)
Dim ai As Outlook.AppointmentItem = Nothing
ai = TryCast(Item, Outlook.AppointmentItem)
If (Not ai Is Nothing) Then
MessageBox.Show("modified " & ai.Subject)
Common.ChangeRecord(ai.Subject, ai.Subject)
End If
End Sub
Почему не вызывается ItemChange для записей в календаре? Присвоение обработчика проходит на ура.