J'ai une macro Outlook qui a du code pour récupérer les règles, qui fonctionne sur Outlook 2013 mais ne fonctionne pas sur une autre machine qui exécute Outlook 2016.Outlook 2016 vba Application.Session.DefaultStore.GetRules() ne retourne pas de règles
Le code est:
Set colRules = Session.DefaultStore.GetRules()
For Each oRule In colRules
ruleName = oRule.Name
If Left(ruleName, 21) = "AutoCategorize into *" Then
oRule.Execute (True)
End If
Next
Le problème selon mon débogage, est dans l'objet colRules retour. En 2016, il montre qu'il a 26 articles, mais contient aucun: (debug view image in 2016)
sur les perspectives 2013, ce même objet affiche tous les 26 éléments (règles): (debug view image in 2013)
Autres observations:
- L'assistant de règles affiche correctement toutes les 26 règles sur les deux machines;
- Certaines des règles ont été définies sur l'ordinateur exécutant Outlook 2013; elles affichent donc (pour les autres ordinateurs) dans l'assistant de règles 2016;
- OutlookSpy Store -> Fonctions -> getRules renvoie le même résultat: (ne peut pas poster encore d'image ... pas assez réputation)
EDIT - J'ai trouvé la raison du problème, mais pas la solution ... La raison pour laquelle les choses ne marchent pas est que l'objet rules contient des règles "provenant d'un autre ordinateur". J'ai supprimé toutes les règles marquées «d'un autre ordinateur» pour tester et réexécuter la macro. Maintenant, il a trouvé toutes les règles restantes. Idem pour OutlookSpy. Donc, quelque chose est cassé dans la mise en œuvre des règles de Microsoft. Bien sûr, je ne peux pas rester comme ça parce que, comme c'est une boîte aux lettres d'échange, elle a effectivement supprimé les règles de l'autre ordinateur ... J'ai testé cela sur un autre compte et j'ai obtenu le même résultat qui prouve que l'API Outlook ne peut pas gérer les règles. Quelqu'un at-il des solutions de rechange ou des solutions de rechange? @Dmitry?
Voyez-vous les règles sur le niveau MAPI dans OutlookSpy (http://www.dimastr.com/outspy)? Accédez au dossier Boîte de réception, cliquez sur le bouton IMAPIFolder, accédez à l'onglet PR_RULES_TABLE (si visible). –
Dmitry, je ne suis pas familier avec OutlookSpy, mais je l'ai ajouté et suivi vos instructions, mais dans la fenêtre qui apparaît il n'y a pas d'onglet avec ce nom. –
J'ai tripoté plus avec OutlookSpy. Si je clique sur "Store" puis sur l'onglet "Functions" je clique sur "GetRules", j'obtiens une fenêtre qui dit qu'il y a 26 règles, mais aucune d'entre elles n'apparaît. Donc, fondamentalement, c'est la même chose. Je vais ajouter cette capture d'écran au message original. –