如何在Outlook自定义列中添加位图图像

时间:2017-09-04 14:35:02

标签: c# outlook vsto outlook-addin

我想在Outlook视图中添加自定义图像列。 这是我添加自定义图标的示例代码。

   Outlook.Explorer explorer = this.Application.ActiveExplorer();
                Outlook.Selection selection = null;
                try { selection = explorer.Selection; }
                catch { }
                if (selection != null && selection.Count > 0)
                {
                    object item = selection[1];
                    if (item is Outlook.MailItem)
                    {
                        Outlook.MailItem mail = item as Outlook.MailItem;
                        Outlook.UserProperties userProperties = mail.UserProperties;
                        Outlook.UserProperty userProperty = userProperties.Add("SyncStatus", Outlook.OlUserPropertyType.olEnumeration, true, Outlook.OlFormatEnumeration.olFormatEnumBitmap);
                        userProperty.Value = new Bitmap(@"...\icons\Sync.ico");
                        mail.Save();
                        Marshal.ReleaseComObject(userProperty);
                        Marshal.ReleaseComObject(userProperties);
                    }
                    Marshal.ReleaseComObject(item);
                    Marshal.ReleaseComObject(selection);
                }

错误:XXXXXX.dll中出现“System.Runtime.InteropServices.COMException”类型的异常  但未在用户代码中处理

其他信息:不支持数据类型。

请建议我如何在Outlook中添加图片列。

1 个答案:

答案 0 :(得分:0)

你做不到。即使您可以添加二进制数据,Outlook也不会以任何方式解析它,也不会使用它来显示任何类型的图像。