1

Nous avons une application qui comporte deux parties et souhaite que les deux puissent accéder aux mêmes champs d'éléments Outlook. Par champ, je veux dire tout type de type de valeur-clé de données qui peut être stocké sur les éléments, car apparemment il semble y en avoir plusieurs types. Ainsi, les deux parties de l'application sont:Accès aux champs personnalisés dans le formulaire Outlook et les services Web Exchange

  • une application Java à l'aide de la bibliothèque EWS officielle fournie par MS
  • un formulaire Outlook en utilisant VBScript

Nous sommes en mesure d'accéder à des éléments Outlook de Java app, et même stocker et récupérer ce que l'on appelle les propriétés étendues. Mais seulement ceux qui ont été stockés via la même API. Pour autant que je sache, le code pour cela serait très similaire en C# aussi.

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()); 
} 

Dans la forme Outlook, nous sommes en mesure de stocker des valeurs dans les champs de textboxes en cartographiant les zones de texte dans les champs de la façon dont il est décrit here. Ainsi, après l'enregistrement et la réouverture de l'élément, les zones de texte personnalisées sont remplies avec les valeurs des champs. Mais en essayant d'accéder à ces valeurs via EWS, ils ne sont tout simplement pas là, et vice versa.

Y a-t-il donc plusieurs «emplacements» pour ces propriétés étendues pour les multiples API/langues? Ou, pour élargir la question, quelles méthodes/API utiliseriez-vous des données de type valeur-clé dans les éléments Outlook, qui devraient être accessibles depuis Java?

Répondre

1

Vous pouvez accéder à n'importe quelle propriété MAPI à l'aide de AppointmentItem.PropertyAccessor.GetProperty.

Vous pouvez voir les propriétés et leurs noms DASL (que vous devrez utiliser lorsque vous appelez GetProperty) dans OutlookSpy: sélectionnez le rendez-vous, cliquez sur le bouton IMessage, sélectionnez la propriété en question, consultez la zone d'édition DASL.

+0

Merci, je me rapproche, mais pas encore là. Avec OutlookSpy j'ai pu trouver l'ExtendedProperty que j'ai ajouté via EWS, j'ai DASL. Comment puis-je lire cette propriété dans VBScript dans un? Je peux aussi voir le champ mappé à partir du formulaire, sa valeur est correctement stockée, mais comment y accéder? Lors de la liste ExtendedProperties de l'élément, il n'en a pas. Je vous remercie. –

+0

Le script VB peut utiliser AppointmentItem.PropertyAccessor.GetProperty. Je ne sais pas pour EWS, désolé. –

Questions connexes