2016-06-21 5 views
-1

여러 항목을 선택하고 새 메일 양식을 열고 선택된 모든 항목을 새 전자 메일에 첨부 파일로 추가하여 새 전자 메일과 함께 보낼 수 있습니까?C# VSTO Outlook - 여러 항목을 선택하여 첨부 파일로 보냅니다.

  1. 어떻게 전망에서 여러 선택한 항목을 얻을 수있는 (예를 들어 사용자가 Ctrl 키 다중 선택을하기를 누른 상태에서 모두 선택) : 내 생각

    ,이은으로 나눌 수 있을까?

  2. Outlook에서 새 전자 메일 양식을 여는 방법은 무엇입니까?

  3. 위의 1에서 선택한 항목을 첨부하여 새 전자 메일에 첨부 파일로 추가하는 방법은 무엇입니까?

UPDATE : 지금까지 나는 (드미트리의 의견 덕분에) 다음과 같이 관리해야 :

public void SendSelectedMailsAsAttachment() 
{ 
    try 
    { 
     Selection olSelection = HostAddIn.ActiveExplorer.Selection; 
     var count = olSelection.Count; 
     var items = new List<IItem>(); 

     Microsoft.Office.Interop.Outlook.MailItem oMailItem = HostAddIn.Application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem); 
     oMailItem.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML; 

     foreach (var sel in olSelection) 
     { 
      oMailItem.Attachments.Add(sel); 
     } 
     oMailItem.Display(false); 
    } 
    catch (Exception ex) 
    { 
     //ex message 
    } 
} 

하지만이 코드

, 다음이 발생합니다

  1. 경우 단일 전자 메일을 선택하고 첨부 파일로 보내려고합니다. 위의 코드는 잘 실행되고 새 전자 메일 양식이 열리지 만 첨부 파일이 표시되지 않습니다. 나는 여러 이메일을 선택하고 첨부 파일로 보내려고하면 예외 "This operation is not supported until the entire message is downloaded. Download the message and try again."

답변

0
  1. Application.ActiveExplorer.Selection 컬렉션 2 시간 동안 oMailItem.Attachments.Add(sel)를 호출 할 때

  2. , 위의 코드는 예외가 발생합니다

  3. Application.CreateItem/MailItem.Display
  4. Application.ActiveExplorer.Selection 컬렉션의 항목을 반복하고 MailItem.Attachments.Add을 호출하십시오. 각 항목.
+0

감사합니다. 시도해 보겠습니다. – cd491415

+0

항목을 첨부 할 때 여전히 문제가있는 업데이트를 추가했습니다. – cd491415

+0

IMAP4 상점입니까? 메시지가 다운로드 되었습니까? –

관련 문제