2013-02-11 1 views
5

Outlook 2010 추가 기능에서 선택한 모든 전자 메일을 가져오고 싶습니다. 나는이 MSDN tutorial를 찾았지만, 전 C#에서 초보자입니다, 나는 꽤 코드 줄 이해하지 않는다 : Object selObject = this.Application.ActiveExplorer().Selection[3];C# Outlook 추가 기능에서 선택한 전자 메일 받기

내가 Selection[]는 C#에서 오버라이드 (override) 연산자 같은, 인덱서이라고 생각합니다. 그러나 그것의 구현을 볼 방법이 있습니까? 코드를 살펴보면 인터페이스 만 볼 수 있지만 구현은 볼 수 없습니다. 그래서 Selection 객체의 구조를 알지 못합니다. operator [] 뒤에 실제로 무엇이 있습니다.

또한 선택한 항목이 인덱스 1에서 시작되고 0이 아닌 이유는 무엇입니까?

답변

4

해당 줄은 세 번째로 선택된 메시지를 검색합니다.
Selection []은 Selection.Item()과 같습니다. - 항목 함수는 인덱싱 된 속성 접근 자로 표시됩니다.
구현을 볼 수 없습니다. 모든 것이 Outlook Object Model에 있습니다.
모든 Outlook 컬렉션은 0이 아닌 1로 시작합니다.이 개체는 VB에서 사용 되었기 때문에 Outlook 개체 모델은 동일한 규칙을 사용합니다.

1

나는 그것이 조금 늦다는 것을 알고있다. 그러나이 질문은 검색 엔진에서 높게 평가된다. 다음은 Outlook Interop에서 선택된 이메일을 수신하는 데 사용하는 솔루션입니다.

internal static IEnumerable<MailItem> GetSelectedEmails() 
     { 
      foreach (MailItem email in new Microsoft.Office.Interop.Outlook.Application().ActiveExplorer().Selection) 
      { 
       yield return email; 
      } 
     } 
+0

너무 늦지 않아서 지금 당장 VSTO와 협력하고 있으며 이로 인해 많은 도움이되었습니다. +1 – Rafael

관련 문제