2010-10-10 11 views
7

Próbuję dowiedzieć się, jak przeciągnąć i upuścić e-mail z programu Outlook 2010 do mojej aplikacji .NET. Widziałem sporo artykułów, w większości z bardzo złożonymi rozwiązaniami. Uważam, że nie powinien być tak skomplikowany ... ale mogę się mylić.Jak przeciągnąć i upuścić e-mail z Outlooka do aplikacji .NET?

Każda pomoc będzie bardzo ceniona!

+0

Szukam tej samej rzeczy. Czy znalazłeś idealne rozwiązanie? –

Odpowiedz

5

łatwiejszy rozwiązanie zostało zamieszczone tutaj: 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()); 
} 

Wykorzystuje Microsoft.Office.Interop.Outlook.dll. (Jest na NuGet o tej samej nazwie)

0

Dwie powyższe odpowiedzi są zarówno dobre. Jest jednak kilka rzeczy, które powinieneś wiedzieć.

W pierwszej odpowiedzi możesz pobrać przykładowy program i uruchomić go, a przekonasz się, że wszystko działa wspaniale, dopóki używasz go na komputerze 32-bitowym, w przeciwnym razie musisz przekompilować swój program z "AnyCPU" do "X86". Spędziłem większość czasu próbując zrozumieć, dlaczego brakowało dwóch pierwszych znaków nazw plików .msg (wiadomości e-mail), które przeciągałem i upuszczałem. Gdy tylko zrekompilowałem "X86", wszystko zaczęło działać.

W drugiej odpowiedzi zobaczysz, że tak, możesz użyć kodu i jest to o wiele łatwiejsze, jeśli potrzebujesz aplikacji do uruchomienia w innej wersji programu (innej niż ta, którą dodałeś do swojego referencje) prawdopodobnie nie będzie działać. Używałem tego samego rodzaju obiektów Office, o których mowa w drugiej odpowiedzi i cały czas miałem problemy, gdy ktoś chciał użyć mojego programu na innej wersji pakietu Office (tj. Gdybym włączył wersję Office 14 i chcieli użyj go w Office 2007).

Powiązane problemy