Seit Outlook XP können Termine farblich gekennzeichnt werden. Einen Zugriff auf die Eigenschaft gibt es aber nicht über das Outlook Objektmodell. Das Beispiel zeigt, wie Sie das mit der Redemption gelöst wird. Die Farben können Sie nicht frei bestimmen. Es sind nur Werte von 0 (keine Beschriftung) bis 10 (Telefonanruf) möglich, welchen Outlook dann die jeweils vorgegebene Farbe zuordnet.
Private Sub LabelAppointment(Appt As Outlook.AppointmentItem, _
Color As Long _
)
Dim Session As Redemption.RDOSession
Dim rdAppt As Redemption.RDOAppointmentItem
Dim EntryID As String
Dim StoreID As String
Dim ID As Variant
Const PropSetID1 = "{00062002-0000-0000-C000-000000000046}"
Const PR_APPT_COLORS = &H8214
If Len(Appt.EntryID) = 0 Then
Exit Sub
End If
Set Session = CreateObject("Redemption.RDOSession")
Session.LogOn
With Appt
EntryID = .EntryID
StoreID = .Parent.StoreID
End With
Set rdAppt = Session.GetMessageFromID(EntryID, StoreID)
ID = rdAppt.GetIDsFromNames(PropSetID1, PR_APPT_COLORS)
ID = ID Or &H3
rdAppt.Fields(ID) = Color
rdAppt.Save
Session.Logoff
End Sub