Как раскрасить категории для Outlook AppointmentItem - PullRequest
4 голосов
/ 04 февраля 2011

Я использую Office .NET Framework для создания встреч в Outlook.Код, который создает встречи, выглядит следующим образом:

    private void createCalendarEvent(DateTime start, DateTime end, String dept, String subj, String subjType, String room)
    {
        AppointmentItem apt = (AppointmentItem)OLapp.CreateItem(OlItemType.olAppointmentItem);

        apt.Start = start;
        apt.End = end;
        apt.Subject = subj + " - " + subjType;
        apt.Body = "Subject: " + subj + " (" + subjType + ")"
                + "\nDepartment: " + dept
                + "\nRoom: " + room
                + "\n\nCreated by " + this.Text
                + "\n On " + DateTime.Now.ToLongDateString() + " At " + DateTime.Now.ToLongTimeString();
        apt.Location = room;
        apt.Categories = subj;
        apt.Save();
    }

Это прекрасно работает, но категория, которую я устанавливаю, не имеет связанного с ней цвета.Я хочу, чтобы встречи в Outlook отображались другим цветом в зависимости от набора категорий.Есть ли способ, которым я могу вручную установить цвета категории?Или, что еще лучше, способ заставить фреймворк автоматически выбирать цвета для категорий?

1 Ответ

1 голос
/ 04 февраля 2011

Ответ на на этот вопрос касается категорий.В частности, вот некоторый код (VB.net, но легко конвертируемый), который создаст категорию темно-оливкового цвета:

Private Shared ReadOnly CATEGORY_TEST As String = "Custom Overdue Activity"

' This method checks if our custom category exists, and creates it if it doesn't.
Private Sub SetupCategories()
    Dim categoryList As Categories = Application.Session.Categories
    For i As Integer = 1 To categoryList.Count
        Dim c As Category = categoryList(i)
        If c.Name.Equals(CATEGORY_TEST) Then
            Return
        End If
    Next

    categoryList.Add(CATEGORY_TEST, Outlook.OlCategoryColor.olCategoryColorDarkOlive)
End Sub

Цвета категорий задаются либо в Outlook, либо в коде выше при создании категории в коде.

...