我目前正在使用 EWS 来将我们公司的应用程序与 Exchange 2010 进行一些集成。我正在使用 EWS 创建 Exchange 2010 的约会,并且运行良好;但最近我尝试在创建约会时添加一些自定义/扩展属性,下面是我添加扩展属性的代码。
Dim customField As New ExtendedPropertyDefinition(DefaultExtendedPropertySet.PublicStrings, "MyCustomField", MapiPropertyType.String)
appointment.SetExtendedProperty(customField, "CustomFieldValue")
上面的代码能够为约会创建自定义字段。
现在这是我的问题。当我在 Outlook 中打开我创建的约会并转到“开发人员 > 设计此表单”,然后转到“所有字段”选项卡时,我只看到我在“文件夹中的用户定义字段”中创建的自定义字段,但看不到“此项中的用户定义字段”。
我还制作了一个 Outlook 插件,以便当用户在 Outlook 中打开约会时,对我使用 EWS 创建的自定义字段做出反应,当我尝试查找自定义字段时,找不到自定义字段,因为自定义字段字段是在“文件夹中的用户定义字段”中创建的,但不是在“此项中的用户定义字段”中创建的。
这是 Outlook 插件中的代码,当用户在 Outlook 中打开约会时将执行。但由于自定义字段不在“此项中”,因此 .Find() 返回 Nothing。
Dim appt As Outlook.AppointmentItem
appt = TryCast(inspector.CurrentItem, Outlook.AppointmentItem)
If appt.UserProperties.Find("MyCustomField") Is Nothing Then
'Some action
Else
'Some action
End If
我想要实现的是使用 EWS 创建具有自定义字段(扩展属性)的约会,然后当用户在 Outlook 中打开约会时读取 Outlook 加载项中的自定义字段(扩展属性)。
EDIT:
我使用 EWS 分配给自定义字段的值显示在“文件夹中的用户定义字段”中。如何从 Outlook 加载项检索值?也许我可以检索该值并将自定义字段添加到该项目和该值中?
Thanks.