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

本文关键字:添加 读字段 联系人 Outlook 何通过 插件 | 更新日期: 2023-09-27 18:32:58

我需要在现有联系人中添加某些只读字段(一旦创建,它就不会更改),或者在通过我的 vsto 插件在 Outlook 中创建新联系人时。我能够使用 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();

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

有什么建议吗?

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

不,很抱歉,但是没有办法阻止用户编辑UserProperty对象的值。

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

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

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

请参阅如何:向 Outlook 外接程序项目添加窗体区域以开始使用。