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

Messages postés
207
Date d'inscription
mardi 19 juin 2007
Dernière intervention
22 février 2016
- - Dernière réponse : loic20h28
Messages postés
207
Date d'inscription
mardi 19 juin 2007
Dernière intervention
22 février 2016
- 15 déc. 2015 à 14:45
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.
Afficher la suite 

Votre réponse

1 réponse

Messages postés
207
Date d'inscription
mardi 19 juin 2007
Dernière intervention
22 février 2016
0
Merci
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!!
Commenter la réponse de loic20h28

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.