如何通过插件在Outlook联系人中添加只读字段

时间:2014-12-03 09:51:01

标签: c# vsto office-interop

我要求在现有联系人中添加某些只读字段(一旦创建,然后不会更改),或者在Outlook中通过我的vsto插件创建新联系人。我可以使用ItemPropertyUserProperty添加用户定义的字段:

Outlook.ContactItem newContact = this.Application.CreateItem(Outlook.OlItemType.olContactItem) as Outlook.ContactItem;

Outlook.ItemProperty itemProp = newContact.ItemProperties.Add("PermanentID", Microsoft.Office.Interop.Outlook.OlUserPropertyType.olNumber, false, 1);
itemProp.Value = "123123";
newContact.Email1Address = "abc@d.com";

Outlook.UserProperty mailUserProperty = newContact.UserProperties.Add("ID1", Outlook.OlUserPropertyType.olNumber, false, 1);
mailUserProperty.Value = "123345456";

newContact.Save();

这确实会在联系人中创建字段,但它们不是只读的。有没有办法创建只读字段或向联系人项目添加新属性,可以在联系人窗口中显示?

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

不,很遗憾地说,但是没有办法阻止用户编辑UserProperty个对象的值。

它们在Outlook中公开,可由用户或任何其他加载项自由编辑。

我唯一可能看到它在VSTO中创建自定义窗格,您可以在其中显示字段的值'只读',但这并不妨碍用户实际更改它。

答案 1 :(得分:0)

您可以改为添加用户属性。请参阅ContactItem类的UserProperties属性。要在检查器窗口中显示它们,您可以开发表单区域。您可以以只读方式自由显示所需信息。

请参阅How to: Add a Form Region to an Outlook Add-in Project开始使用。