加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何着色Outlook AppointmentItem的类别

发布时间:2020-12-15 21:15:14 所属栏目:百科 来源:网络整理
导读:我正在使用Office .NET框架在Outlook中创建约会.创建约会的代码如下所示: private void createCalendarEvent(DateTime start,DateTime end,String dept,String subj,String subjType,String room) { AppointmentItem apt = (AppointmentItem)OLapp.CreateIt
我正在使用Office .NET框架在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
                + "nnCreated by " + this.Text
                + "n On " + DateTime.Now.ToLongDateString() + " At " + DateTime.Now.ToLongTimeString();
        apt.Location = room;
        apt.Categories = subj;
        apt.Save();
    }

这很好用,但我设置的类别没有与之关联的颜色.我希望outlook中的约会以不同的颜色显示,具体取决于类别集.有什么方法我可以手动设置类别颜色?或者甚至更好,一种让框架自动为我选择类别颜色的方法?

解决方法

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中设置,也可以在代码中创建类别时在上面的代码中设置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读