默认情况下,类型为olDateTime的MailItem用户属性显示为12/30/1899值。我们怎么能显示空?

时间:2015-05-19 09:47:17

标签: c# vsto outlook-addin office-addins

我在mailitem上创建了一个名为“DueDate”的用户属性我为这个用户属性设置了默认值null但是当更改outlook&中的视图时在默认视图中添加DueDate自定义列,它显示“12/30/1899”值。

var prop = mailItemObject.UserProperties.Add("DueDate", Outlook.OlUserPropertyType.olDateTime, null, null);
prop.Value = null; //default value

Screenshot

2 个答案:

答案 0 :(得分:2)

作为一种解决方法,您可以添加文本(olText)用户属性(而不是日期时间)。您可以将日期和时间转换为字符串,然后返回加载项的代码。但在视图中,您将得到您需要的东西 - 空字符串。

答案 1 :(得分:2)

Null转换为0,在COM中(它使用8字节浮点表示日期/时间值)为12/31/1899。 如果您不想设置值,请不要设置它。或者将其设置为1/1/4501 - 特殊日期表示"没有数据"在Outlook中。