An Outlook Calendar owner wanted to know how to notify a delegate that a new appointment was scheduled when adding an appointment to the calendar. Solution: VBA that watches for a new appointment item and sends an email to a predetermined email address.

To avoid sending email for personal appointments, the VBA looks for a category named "private" and only sends an email if that category is NOT assigned to the appointment. You could use a subject filter to check for the word Private as the first word in the subject instead:
If Item.Class = olAppointment And _
Left(Item.Subject, 8) <> "Private:" Then
With a little tweaking, the delegate could generate the email to the boss when she adds a new appointment to the boss's calendar.
Send an Email when a New Appointment is added to Calendar
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim Ns As Outlook.NameSpace
Set Ns = Application.GetNamespace("MAPI")
Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
On Error Resume Next
If Item.Class = olAppointment And _
Item.Category <> "private" Then
Dim objMsg As MailItem
Set objMsg = Application.CreateItem(olMailItem)
objMsg.To = "alias@domain.com"
objMsg.Subject = Item.Subject
objMsg.Body = "New appointment added to " & Item.Organizer & "'s calendar." & _
vbCrLf & "Subject: " & Item.Subject & " Location: " & Item.Location & _
vbCrLf & "Date and time: " & Item.Start & " Until: " & Item.End
'use Display instead of Send if you want to add a note before sending
objMsg.Send
Set objMsg = Nothing
End If
End Sub
Watching for new items in a non-default calendars
If the calendar is not your default calendar, you need to use the Function for non-default folders at Working with VBA and non-default Outlook Folders.
After adding the GetFolderPath function to the module, change
Set Items = Ns.GetDefaultFolder(olFolderCalendar).Items
to
Set Items = GetFolderPath("other-datafile-display-name\Calendar").Items
Don't forget to change the display name to the name that is used in the folder list.

