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

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

1 réponse

Répondre au sujet
loic20h28 207 Messages postés mardi 19 juin 2007Date d'inscription 22 février 2016 Dernière intervention - 15 déc. 2015 à 14:45
0
Utile
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.