none
[AddIn Outlook] Supprimer Mail des brouillons sur fermeture RRS feed

  • Question

  • Bonjour,

    J'ai actuellement un addIn Outlook qui affiche un bouton cliquable quand on édite un message.
    Quand on clique dessus, j'ai besoin de récupérer l'adresse du destinataire entrée dans le champ "A...". Comme on ne peut pas la récupérer si le mail n'est pas sauvegardé j'effectue un Mail.Save(). Ainsi le mail est sauvegardé dans les brouillons et je peux récupérer le champ qui m'intéresse.

    Cependant, si l'utilisateur quitte le mail sans l'envoyer, le mail reste automatiquement sauvegardé dans le brouillons. J'aimerais le supprimer sur l'évènement de fermeture de la fenêtre d'édition ou que l'utilisateur puisse choisir l'action (comme c'est le cas habituellement).
    J'essaye donc de faire un Marshal.ReleaseComObject(mail) et MailItem.delete() sur le onClose event mais j'attrape une exception au moment du delete :

    System.Runtime.InteropServices.COMException (0x80040108): Impossible d'utiliser les propriétés et les méthodes de l'élément dans cette procédure événementielle.
    Est-ce que quelqu'un aurait une idée pour résoudre mon problème ?

    En vous remerciant d'avance,
    Cdlt,
    Kirjava
    mercredi 21 mars 2012 09:12

Réponses

  • Sur la partie US du forum, j'ai pu trouvé une réponse qui est satisfaisante.
    Si quelqu'un en avait besoin : http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/0b673d4b-d54e-4b9e-b5a8-cb741a7b7231

    En clair, sur le clic du bouton fermé, on lance un event qui lance un timer. A la fin du timer, on lance la fonction qui supprime le mail. Le Timer sert juste à laisser le temps au mail d'être libéré pour pouvoir le supprimer.

    mercredi 21 mars 2012 14:12

Toutes les réponses