2014-12-03 28 views
0

我需要在現有聯繫人中添加某些只讀字段(一旦創建,然後不會更改),或者通過我的vsto插件在Outlook中創建新聯繫人。我能夠添加使用ItemPropertyUserProperty用戶定義字段:如何通過插件在Outlook聯繫人中添加只讀字段

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 = "[email protected]"; 

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

newContact.Save(); 

這並創建在聯繫人字段,但它們不是隻讀的。是否有任何方法可以創建只讀字段或將新屬性添加到聯繫人窗口中可顯示的聯繫人項目?

有什麼建議嗎?

回答

0

不,很遺憾地說,但是沒有辦法阻止用戶編輯UserProperty對象的值。

它們暴露在Outlook中,並可由用戶或任何其他加載項自由編輯。

我看到它在VSTO中創建自定義窗格的唯一可能性,其中顯示字段「只讀」的值,但這並不妨礙用戶實際更改它。

+0

我們可以添加任何其他自定義屬性來實現相同嗎? – 2014-12-03 10:14:36

+0

不,你不能... – 2014-12-03 10:14:57

+0

我找不到任何辦法來做到這一點,也沒有告訴任何它不能做到的地方。 – 2014-12-03 10:15:28

0

您可以改爲添加用戶屬性。請參閱ContactItem類的UserProperties屬性。要在檢查器窗口中顯示它們,您可以開發一個表單區域。您可以以只讀方式自由顯示所需的信息。

請參閱How to: Add a Form Region to an Outlook Add-in Project開始。

+0

他正在添加用戶屬性,對吧?看代碼。這是關於讓他們只讀。 – 2014-12-03 12:00:18

+0

我在代碼的開頭看到ItemProperties。無論如何,問題不在於使用戶屬性爲只讀。最終用戶不應修改屬性值。 – 2014-12-03 12:51:39

+0

OP使用'newContact.UserProperties'。編輯不是你可以預防的。 Outlook作爲默認編輯器。 – 2014-12-03 12:52:45

相關問題