2013-10-07 27 views
1

我们有一个应用程序,它有两个部分,并且都希望能够访问Outlook项目的相同字段。按字段来说,我的意思是可以存储在项目上的任何类型的键值类型的数据,因为显然它们似乎有多种。因此,应用程序的两个部分是:访问Outlook窗体和Exhange Web服务中的自定义字段

  • 使用MS
  • 使用VBScript

我们能够从Java访问Outlook项目Outlook窗体提供的官方EWS库的Java应用程序应用程序,甚至存储和检索所谓的扩展属性。但只有通过相同的API存储的那些。据我所知,这个代码在C#中也会非常相似。

ExtendedPropertyCollection epc = appointment.getExtendedProperties(); 
for (ExtendedProperty ep : epc) { 
    // these do not print anything, epc.getCount() returns 0 
    System.out.println(" extendedpropC: " + ep.getClass()); 
    System.out.println(" extendedpropV: " + ep.getValue()); 
} 

在Outlook形式,我们能够通过映射到文本框的字段中,描述here顺便文本框的值存储到字段。因此,在保存并重新打开该项目后,自定义文本框将填充来自这些字段的值。但是当试图通过EWS访问这些值时,它们根本就不存在,反之亦然。

那么对于多个API /语言的扩展属性是否有多个“插槽”?

或者,为了扩大问题,您将使用键值类型数据到Outlook项目中的哪些方法/ API,应该以某种方式从Java访问?

回答

1

您可以使用AppointmentItem.PropertyAccessor.GetProperty访问任何MAPI属性。

您可以在OutlookSpy中看到属性及其DASL名称(您需要在调用GetProperty时使用):选择约会,单击IMessage按钮,选择相关属性,查看DASL编辑框。

+0

谢谢,我越来越近,但还没有。通过OutlookSpy,我能够找到通过EWS添加的ExtendedProperty,我有它的DASL。如何从VBScript中读取此属性?我还可以看到从表单映射的字段,其值已正确存储,但您如何访问该字段?列出项目的ExtendedProperties时,它没有任何内容。谢谢。 –

+0

VB脚本可以使用AppointmentItem.PropertyAccessor.GetProperty。我不知道EWS,对不起。 –

相关问题