2011-02-03 52 views
3

我正在使用Office .NET框架在Outlook中創建約會。創建約會的代碼如下所示:如何爲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

this question的答案涉及類別。具體而言,這裏的一些代碼(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中,或在代碼中創建一個類時,上面的代碼。