2010-10-10 11 views
7

Estoy intentando averiguar cómo arrastrar y soltar un correo electrónico de Outlook 2010 en mi aplicación .NET. He visto bastantes artículos, la mayoría con soluciones muy complejas. Mi pensamiento es que no debería ser tan complejo ... pero podría estar equivocado.¿Cómo arrastrar y soltar un correo electrónico, desde Outlook, en una aplicación .NET?

¡Cualquier ayuda sería muy apreciada!

+0

Estoy buscando lo mismo. ¿Encontraste cuál es la solución ideal? –

Respuesta

5

Una solución más fácil ha sido publicado aquí: Get body from Outlook email [Drag’n’Drop]

Outlook.Application outlook = new Outlook.Application(); 
Outlook.Explorer oExplorer = outlook.ActiveExplorer(); 
Outlook.Selection oSelection = oExplorer.Selection; 

foreach (object item in oSelection) 
{ 
    Outlook.MailItem mi = (Outlook.MailItem)item; 
    Console.WriteLine(mi.Body.ToString()); 
} 

Se utiliza Microsoft.Office.Interop.Outlook.dll. (Está en NuGet con el mismo nombre)

0

Las dos respuestas anteriores son buenas. Sin embargo, hay un par de cosas que debes saber.

En la primera respuesta puede descargar el programa de ejemplo y ejecutarlo, y encontrará que todo funciona bien siempre que lo ejecute en una computadora de 32 bits; de lo contrario, debe recompilar su programa desde "AnyCPU" a "X86". Pasé la mayor parte del día tratando de descubrir por qué faltaban los primeros dos caracteres de los nombres de archivo .msg (de los correos electrónicos) que estaba arrastrando y soltando. Tan pronto como volví a compilar con "X86", todo comenzó a funcionar.

En la segunda respuesta, encontrará que sí puede usar el código y es mucho más fácil, sin embargo, si necesita que su aplicación se ejecute en alguna otra versión de Outlook (que no sea la que agregó a su referencias) probablemente no funcionará. Solía ​​usar el mismo tipo de objetos de Office mencionados en la segunda respuesta y me encontré con problemas todo el tiempo cuando alguien quería usar mi programa en una versión diferente de Office (es decir, si obtenía Office versión 14 y querían Úselo en Office 2007).

Cuestiones relacionadas