vba - 如何为邮件获取或分配颜色类别?
问题描述
Dim oSel As Outlook.Selection
Set oSel = Outlook.Application.ActiveExplorer.Selection
Dim oEmail As Outlook.mailitem
Set oEmail = oSel.Item(1)
我在网络共享上,想
1) 获取分配给当前选定邮件项目的颜色,即灰色 (olCategoryColorGray=13)(oEmail 被分类为灰色),并且,
2) 为其分配不同的颜色类别,例如红色 (olCategoryColorRed=1)。
您的帮助将不胜感激。
解决方案
您需要使用MailItem 类的Categories属性来获取分配给项目的类别列表。类别是已分配给 Outlook 项目的类别名称的分隔字符串。
使用 Category 类的Color属性来获取一个OlCategoryColor
常量,该常量指示 Category 对象使用的颜色。OlCategoryColor
通过在这些 Category 对象的枚举中指定表示类别颜色的相同常量,您可以为多个类别共享相同的颜色。
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; }
}
推荐阅读
- python - 我想在 csv 文件中搜索数据,其中数据取自 file1.csv 并使用 pandas 在 file2.csv 中搜索
- python - return None 和 pass 之间的区别
- python - Tensorflow/Keras 本地训练比分布式训练快 6 倍
- vhdl - VHDL 中的 Verilog 波浪号运算符“~”等价于什么?
- swift - 在 Json for Swift 中从服务器接收数据
- javascript - 在字符串中(在 JavaScript 中)调用函数时,如何将变量传递给函数?
- android - 带有 WorkManager 的应用程序在 android API 27 上比 API 28 工作得更好
- android - 如何修复 Android 模拟器内部错误:emuglConfig_init:blacklisted=0 has_guest_renderer=1
- node.js - 将优先命令行标志传递给nodejs中的组合脚本
- git - 撤消在崇高合并中删除的提交