none
Problème de droits MailItem.SaveAs() RRS feed

  • Question

  • Bonjour,

    En train de réaliser un Addin pour Outlook permettant d'exporter mes mails directement un dossier de l'arborescence du PC.

    Tout marche parfaitement jusqu'au moment d'enregistrer le mail.

    Je reçois alors 

    http://puu.sh/cuJuK/560c3f2756.PNG

    voici le code qui soulève l'exception :

    public void TransferMail(Office.IRibbonControl control)
            {
                string folderName = "";
                Explorer item = Globals.ThisAddIn.Application.ActiveExplorer();
                MailItem MI = (MailItem)item.Selection[1];
                FolderBrowserDialog FD = new FolderBrowserDialog();
     
                DialogResult result = FD.ShowDialog();
                if( result == DialogResult.OK)
                {
                    folderName = FD.SelectedPath;
                    try
                    {
                        MI.SaveAs(folderName);
                        MessageBox.Show("Le mail à bien été enregistré sous :" + folderName);
                    }
                    catch (SystemException ex)
                    {
                        MessageBox.Show("erreur :" + ex.ToString());
                    }
                }
                else
                {
                    MessageBox.Show("Annulation");
                }
     
     
            }

    j'exécute bien visual studio en tant qu'administrateur et dans le fichier app.manifet j'ai :

    <requestedExectuionLevel level="highestAvailable" uiAccess="false" />

    Si vous pouviez m'éclairez sur mon problème, je vous en serais grandement reconnaissant :)

    mercredi 29 octobre 2014 08:12

Réponses

  • J'ai trouver la réponse à mon problème

    le format de base olMSG pose problème au niveau de l'écriture dans un dossier, j'ai donc choisi le format olTXT et ça marche parfaitement.

    folderName = FD.SelectedPath +"\\" +MI.Subjet + ".txt"; // cela permet d'enregistrer le fichier sous un nom différent sinon outlook fais la tronche (nom déjà utilisé)
    
    ...
    
    MI.SaveAs(folderName, OlSaveAsType.olTXT);


    et le tour est joué :)

    [MAJ]

    Le format olTemplate (.olt) convient mieux qu'un format .txt ;)

    mercredi 29 octobre 2014 15:30