2012-10-19 6 views
1

대부분의 코드 샘플 그러나이 드래그하면 예기치 않은 결과를 생산 ...Outlook의 "고급 찾기"창에서 메일 항목을 끌어 Winforms에 놓으십시오? 아웃룩에서 <code>MailItem</code>을 끌어와 과부에 떨어 대한

여기

an example

Dim objMI As Microsoft.Office.Interop.Outlook.MailItem 

For Each objMI In objOL.ActiveExplorer.Selection() 
    Dim strFile As String = _ 
       IO.Path.Combine("c:\temp", _ 
           (objMI.Subject + ".msg").Replace(":", "")) 
    lblFile.Text += strFile + Environment.NewLine 
    objMI.SaveAs(strFile) 
Next 
을의 ... Outlook의 ActiveExplorer 창에 대한 참조를 포함 형성 상세 검색 팝업 창이 나타납니다.

C# 또는 VB 코드 그래 브 은 주 전자 메일 창의에서 선택한 전자 메일이 전자 메일의 상세하게 찾기 목록에서 실제로 선택한 것은 아닙니다. 사용자가 경고하지 않는 한 그는 잘못된 전자 메일을 알지도 못합니다.

이 문제가 해결 되었습니까?

답변

0

당신은 ActiveWindow() (활성 탐색기 또는 관리자가 사용에) 자신하지 않습니다 있는지 확인하고 ActiveExplorer.Selection() 대신 IDataObject 인터페이스를 활용할 수 있습니다. 플러그인의 경우 - 우리는 방금 고급 찾기을 끌어서 놓기 조작에 지원하지 않기로 선택했으나 이것이 항상 옵션은 아닙니다.

예를 들어 Win32 IDataObject - download this Code Project Outlook Drag-n-Drop example을 사용하는 경우. 어떤 이유로 Microsoft는 고급 찾기 창 주위에 VSTO 인터페이스 래퍼를 노출하지 않기로 결정했습니다. 이 문제는 여전히 Office 2013에 있습니다.