Drag&Drop d'un mail Outlook et le copier dans un dossier. [Résolu]

Signaler
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
-
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
-
Bonjour tout le monde,

Je suis entrain de réaliser une application qui à pour but de faire un Drag&Drop d'un e-mail Outlook et de le copier dans un dossier sur mon PC.

Voici mon code :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void panel1_Paint(object sender, PaintEventArgs e)
{

}

private void panel1_DragEnter(object sender, DragEventArgs e)
{
// Pour ce programme, nous permettons à un fichier à supprimer à partir d'Explorer
if (e.Data.GetDataPresent (DataFormats.FileDrop))
e.Effect = DragDropEffects.Copy;
// Ou cela nous dit si elle est une baisse de fixation Outlook
else if (e.Data.GetDataPresent ("FileGroupDescriptor"))
e.Effect = DragDropEffects.Copy;
// Ou aucune de ces réponses
else
e.Effect = DragDropEffects.None;
}

private void panel1_DragDrop(object sender, DragEventArgs e)
{
try
{

Outlook.Application app = new Outlook.Application();
Outlook.MailItem item = app.CreateItem((Outlook.OlItemType.olMailItem));
item.SaveAs(@"C:\TEST\test.msg", Outlook.OlSaveAsType.olMSG);

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}


Le code fonctionne c'est à dire que le drag&drop fonctionne et il m'enregistre bien un fichier test.msg dans mon dossier nommé "TEST" mais ce fichier est vide :(

Je souhaiterais copier le fichier drag&dropé auparavant.

Je pense qu'il faut que j'utilise une autre méthode que CreateItem() mais étant débutant en C# je suis un peu bloqué!!

Merci par avance pour votre aide.

Loïc.

1 réponse

Messages postés
207
Date d'inscription
mardi 19 juin 2007
Statut
Membre
Dernière intervention
22 février 2016
2
J'ai réussit à faire ce que je souhaitez faire.
Voici le code pour ceux que ça peux intéresser :

private void panel1_DragDrop(object sender, DragEventArgs e)
{
try
{
Outlook.Application app = new Outlook.Application();
object temp = app.ActiveExplorer().Selection[1];
Outlook.MailItem item = (temp as Outlook.MailItem);
item.SaveAs(@"C:\TEST\test.msg", Outlook.OlSaveAsType.olMSG);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}


Merci de l'aide!!