【问题标题】:Change Outlook Inbox-icons envelope icons更改 Outlook Inbox-icons 信封图标
【发布时间】:2015-11-04 07:21:13
【问题描述】:

点击此链接 - change outlook MailItem icon

我设法更改了收件箱图标。

这是我一步一步做的。 1) 为来自 Internet 的新邮件创建自定义消息类 类是 IPM.Note.Internet

Outlook.NameSpace outlookNameSpace;
Outlook.MAPIFolder inbox;
Outlook.Items items;

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        outlookNameSpace = this.Application.GetNamespace("MAPI");
        inbox = outlookNameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);

        items = inbox.Items;

        items.ItemAdd += new Outlook.ItemsEvents_ItemAddEventHandler(items_ItemAdd);
    }

    void items_ItemAdd(object Item)
    { 
        Outlook.MailItem mailitem = (Outlook.MailItem)Item;
        String EmailHeader = mailitem.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E");
        if (Item != null && EmailHeader.Contains("Look for a string in the headers here that we set for incomming mail") == true)
        {
            if (mailitem.MessageClass == "IPM.Note")
            {
                mailitem.MessageClass = "IPM.Note.Internet";
                mailitem.Save();
            }
        }
    }

2) 创建了一个与 MessageClass 匹配的替换 Outlook 表单区域。在这种情况下,我使用了 IPM.Note.Internet

3) 在表单区域设计器的属性窗格中分配图标。

4) 已调试的项目和来自 Internet 的下一条消息在消息类更新后被我的自定义图标标记。

我现在的问题是我无法预览或打开我更改了邮件类别的邮件。类似于这篇没有回复的帖子 - Change Inbox-icons in Outlook at runtime

我认为问题在于我的替换 Outlook 表单区域是空白的,因此无法预览邮件。

如果这是真的,那么这就是我的问题。将标准 IPM.Note 消息类模板导出到 Visual Studio 的最佳方法是什么。我需要覆盖我的 IPM.Note.Internet Outlook 表单区域设计。

创建 Outlook 表单区域时有一个选项-

导入“.OFS”文件。我试图弄清楚如何从 Outlook 2010 客户端(开发人员工具)导出文件,但我找不到将模板保存为该特定格式的方法。我可以保存到 OFT(办公模板)但不能保存到 .OFS

提前感谢您的帮助!

【问题讨论】:

  • 预览窗格到底显示了什么?
  • 没什么,只是空白。如果我将消息类重命名为一条消息,从 IPM.Note.Internet 回到 IPM.Note,我可以预览消息

标签: c# visual-studio-2010 outlook-addin


【解决方案1】:

然后添加一个表单区域并更改消息类,我刚刚添加了 PR_ICON_INDEX 属性并设置了它的值。如 Dmitry Link 选项 #2 所述

这里有很多图标可供选择。我找不到包含整数值的列表,所以我只是在 Outlook Spy 中为 PR_ICON_INDEX 属性输入随机数,更改值直到找到我想要的图标。有很多图标可供选择。许多来自 600-700 和 1000 及以上的范围。

这是我用来在消息上设置 PR_ICON_INDEX 属性的行-

mailitem.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x10800003", 4); // change the 4 to something like 600,601...etc to experiment 

【讨论】:

  • 这不允许自定义图标
  • 正确,但有数百个图标可供选择。
  • 另外,我注意到,假设您在邮件上设置了一个图标,然后您恰好回复了邮件。图标从您之前设置的任何内容更改为“回复图标”(左侧带圆圈的箭头),因此图标不会持续很长时间,因为除了回复状态之外还有许多邮件统计的图标
猜你喜欢
  • 1970-01-01
  • 2021-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
相关资源
最近更新 更多