ItemChange Event

Occurs when an item in the specified collection is changed. This event is not available in Microsoft Visual Basic Scripting Edition (VBScript).

Subobject**_ItemChange(ByVal Item As Object)**

*object   * An expression that evaluates to one of the objects in the Applies To list.

*Item   * Required. The item that was changed.


This example uses the Start property of the AppointmentItem object to determine if the appointment starts after normal business hours. If it does, and if the Sensitivity property of the AppointmentItem object is not already set to olPrivate, the example offers to mark the appointment as private.

Dim myOlApp As New Outlook.Application
Public WithEvents myOlItems As Outlook.Items

Public Sub Initialize_handler()
    Set myOlItems = myOlApp.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Items
End Sub

Private Sub myOlItems_ItemChange(ByVal Item As Object)
Dim prompt As String
    If VBA.Format(Item.Start, "h") >= "17" And Item.Sensitivity <> olPrivate Then
        prompt = "Appointment occurs after hours. Mark it private?"
        If MsgBox(prompt, vbYesNo + vbQuestion) = vbYes Then
            Item.Sensitivity = olPrivate
        End If
    End If
End Sub

Applies to | Items Object | Results Collection

See Also | ItemAdd Event | ItemRemove Event | Using events with Automation