我要求在现有联系人中添加某些只读字段(一旦创建,然后不会更改),或者在Outlook中通过我的vsto插件创建新联系人。我可以使用ItemProperty
和UserProperty
添加用户定义的字段:
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();
这确实会在联系人中创建字段,但它们不是只读的。有没有办法创建只读字段或向联系人项目添加新属性,可以在联系人窗口中显示?
有什么建议吗?
答案 0 :(得分:0)
不,很遗憾地说,但是没有办法阻止用户编辑UserProperty
个对象的值。
它们在Outlook中公开,可由用户或任何其他加载项自由编辑。
我唯一可能看到它在VSTO中创建自定义窗格,您可以在其中显示字段的值'只读',但这并不妨碍用户实际更改它。
答案 1 :(得分:0)
您可以改为添加用户属性。请参阅ContactItem类的UserProperties属性。要在检查器窗口中显示它们,您可以开发表单区域。您可以以只读方式自由显示所需信息。
请参阅How to: Add a Form Region to an Outlook Add-in Project开始使用。