Vba 如何为邮件获取或分配颜色类别?
我在网络共享上,希望 1) 获取分配给当前选定邮件项目的颜色,即灰色(olCategoryColorGray=13)(oEmail分类为灰色),然后 2) 为其指定不同的颜色类别,例如红色(olCategoryColorRed=1) 非常感谢您的帮助。您需要使用MailItem类的属性来获取分配给项目的类别列表。类别是已分配给Outlook项目的类别名称的分隔字符串 使用Category类的属性获取一个Vba 如何为邮件获取或分配颜色类别?,vba,colors,outlook,categories,Vba,Colors,Outlook,Categories,我在网络共享上,希望 1) 获取分配给当前选定邮件项目的颜色,即灰色(olCategoryColorGray=13)(oEmail分类为灰色),然后 2) 为其指定不同的颜色类别,例如红色(olCategoryColorRed=1) 非常感谢您的帮助。您需要使用MailItem类的属性来获取分配给项目的类别列表。类别是已分配给Outlook项目的类别名称的分隔字符串 使用Category类的属性获取一个OlCategoryColor常量,该常量指示Category对象使用的颜色。通过在这些类别对
OlCategoryColor
常量,该常量指示Category对象使用的颜色。通过在这些类别对象的OlCategoryColor
枚举中指定表示类别颜色的相同常量,可以为多个类别共享相同的颜色
Dim oSel As Outlook.Selection
Set oSel = Outlook.Application.ActiveExplorer.Selection
Dim oEmail As Outlook.mailitem
Set oEmail = oSel.Item(1)
private void EnumerateCategories()
{
Outlook.Categories categories = Application.Session.Categories;
foreach (Outlook.Category category in categories)
{
Debug.WriteLine(category.Name);
Debug.WriteLine(category.CategoryID);
Debug.WriteLine(category.Color);
}
}
private void AddACategory()
{
Outlook.Categories categories = Application.Session.Categories;
if (!CategoryExists("ISV"))
{
Outlook.Category category = categories.Add("ISV",
Outlook.OlCategoryColor.olCategoryColorDarkBlue,
Outlook.OlCategoryShortcutKey.olCategoryShortcutKeyCtrlF11);
}
}
private bool CategoryExists(string categoryName)
{
try
{
Outlook.Category category = Application.Session.Categories[categoryName];
if(category != null)
{
return true;
}
else
{
return false;
}
}
catch { return false; }
}