2013-05-01 7 views
0

J'essaie de trouver un moyen d'accéder au dossier public associé d'un dossier favori. L'objectif est de déplacer automatiquement les mails dans les dossiers publics. Dans le cas où ce dossier a été défini comme favori, je voudrais déplacer le courrier vers ce dossier favori pour des problèmes de performance. Le chemin du dossier public associé est simplement visible sur Outlook dans les propriétés du dossier favori (clic droit sur le dossier puis propriétés/résumé: le chemin du dossier public est affiché) mais je ne trouve pas un moyen d'accéder au informations par programme ...Script Oulook - Comment trouver le dossier racine d'un dossier favori

J'apprécierais vraiment votre aide!

Merci beaucoup,

Guillaume

Répondre

0

J'ai utilisé EWS pour accéder au PR_FAV_PUBLIC_SOURCE_KEY en utilisant le ExtendedPropertyDefinition

new ExtendedPropertyDefinition(0x7C02, MapiPropertyType.Binary); 

convertir en un identifiant d'entrée devrait vous apporter au dossier public correct. Détails: http://social.technet.microsoft.com/Forums/de-DE/exchangesvrdevelopmentlegacy/thread/e75940c6-b53b-4260-b12c-6541e4ff8a69

Et il y a des propriétés spécifiques plus préférées, comme:

private ExtendedPropertyDefinition eProp_LevelMask = new ExtendedPropertyDefinition(0x7D03, MapiPropertyType.Integer); 
    private ExtendedPropertyDefinition eProp_ShortcutType = new ExtendedPropertyDefinition(0x7D09, MapiPropertyType.String); 
    private ExtendedPropertyDefinition eProp_FavParent = new ExtendedPropertyDefinition(0x7D02, MapiPropertyType.Binary); 

et

private ExtendedPropertyDefinition eProp_ShortcutName = new ExtendedPropertyDefinition(0x7C00, MapiPropertyType.String); 
    private ExtendedPropertyDefinition eProp_ShortcutAlias = new ExtendedPropertyDefinition(0x7C01, MapiPropertyType.String); 
+0

Merci beaucoup pour votre Aidez-moi. Je suis débutant et j'écris des scripts dans VBA. Ce code est C droit? Savez-vous comment écrire cela dans visual basic? Merci – user2341018

+0

Désolé, ne sais pas beaucoup sur EWS et VBA. Mais vous pouvez toujours accéder à des propriétés étendues via PropertyAccessor je suppose ... Plus de détails: http://msdn.microsoft.com/de-de/library/office/ff869865.aspx –

-1

Sous Example1() Dim strFinal As String Dim strLine As String

Ouvrir "D: \ textfile.txt" Pour la saisie sous # 1 W ien EOF (1) = False Entrée ligne n ° 1, strLine Si Len (strLine)> 24 Alors strFinal = strFinal + ModifyColumn (strLine) Else strFinal = strFinal + strLine + vbCrLf End If Wend strFinal = strFinal Fermer # 1

Open "D: \ textfile.txt" Pour la sortie Comme # 1 Imprimer # 1, strFinal Fermer # 1 End Sub

Fonction ModifyColumn (ByVal strInput As String) As String Dim arrString() As String Dim strOutput As String 'diviser les colonnes arrString = split (strInput, vbTab) ' concaténer la première colonne 2 comme ils sont strOutput = arrString (0) + vbTab + arrString (1) + vbTab + arrString (2) 'ajouter 100 $ à la colonne 3 requirevalue = Gauche (arrString (3), InStr (1, arrString (3), "|") - 1) last3Digit = Droite (requirevalue, 3) Si Left (requirevalue, 3) = "max" Alors Newvalue = vbTab + "OTPxxxxxx" & last3Digit & "|" & droit (arrString (3), Len (arrString (3)) - InStr (1, arrString (3), "|")) + vbCrLf Else Newvalue = vbTab + arrString (3) + vbCrLf End If strOutput = strOutput & Nouvelle valeur 'strOutput = strOutput + Strings.Trim (Str (CDbl (gauche (arrString (3), Len (arrString (2)) - 1)) + 100)) + "$" + vbCrLf ModifyColumn = strOutput End Function

Questions connexes