2011-10-06 7 views
0

Outlook 용 Office 2010 플러그인을 상속 받았습니다. 그것은 별도의 데이터베이스/파일에 메일, 첨부 파일 또는 둘 다를 저장할 수 있어야합니다. 첨부 파일을 포함하는 메일을 저장합니다 (일명 둘 다). 첨부 파일 만 저장하도록 선택하면 첨부 파일이 포함 된 멋진 msg 파일 (msg는 outlook 메일 파일 형식 임)이 모두 저장됩니다 (메일 + 첨부 파일). Office 2003/2007 버전에서 메일, 첨부 파일 또는 둘 모두를 선택하여 저장할 수 있습니다. 저는 며칠 동안 코드를 검토해 왔으며 2003/7의 성능과 2010의 성능을 비교할 수 없었습니다.첨부 파일을 저장하지 않는 Office 2010 Outlook 플러그인

Outlook 2010에서 코드 관점에서 메일과 첨부 파일을 별도로 저장할 수 있습니까?

세부 사항 :
Office 2003의 플러그인 : C#을 .NET3.5로 작성된 VS8
오피스 2007 플러그인 : C#을 .NET3.5, VS8
오피스 2010 플러그인 : C#을 .NET4, VS10

우리는 2003 년 버전을 공식적으로 사용 중지했으며 더 이상 유지하지 않습니다. 누군가보고 할 때 2007 년은 버그 수정이되고 있습니다. 좋은 질문은 지금군요 - -

나는 핵심을

protected override void EnableAddAttachmentsToLegis() 
{ 
    // Adds a button on the right click context menu, 
    // when user clicks on an attachment: 
    _application.AttachmentContextMenuDisplay 
     += new Outlook.ApplicationEvents_11_AttachmentContextMenuDisplayEventHandler 
     (Application_AttachmentContextMenuDisplay); 
} 

http://technet.microsoft.com/en-us/query/bb623145을 발견 할 수 있습니다)를 교체하거나 완전히 폐지되었다 무엇을, 2010 년 "새로운"검은 색입니다. http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.applicationevents_11_event_members.aspx - - 내가 Outlook을 사용했을 때 나는이 시간 전에 같은 짓을 한 2010 년

답변

0

을 위해 사용되지 않는 2007로 대체되었습니다

. 나는 나의 단계를 간략하게 설명하겠습니다 :

은 새 메일 이벤트 구독 :

Application.NewMailEx += Application_NewMailEx; 

핸들러는 쉼표로 구분 된 문자열을 사용하여 모든 새 메일의 목록을 제공합니다. 나는 갈라과 ID의 각 처리 :

string[] entryIds = EntryIDCollection.Split (new char[] { ',' }); 
foreach (string entryId in entryIds) { 
    processMail (entryId, maskExpanded); 
} 

processMail 기능이는 MailItem를 검색하고 첨부 파일이있는 경우 반복 모든 첨부 파일을 오퍼를 다음 processAttachment 기능의 핵심은 바로

를 사용하여 첨부 파일을 저장
private void processMail(string entryId) { 
    Outlook.MailItem mail = Application.Session.GetItemFromID (entryId) as Outlook.MailItem; 
    if (mail.Attachments.Count > 0) { 
     foreach (Outlook.Attachment att in mail.Attachments) 
      processAttachment (att); 
    } 
} 

attachment.SaveAsFile (<filename>); 

내 기능에서 추가 기능 (디렉토리 구조 만들기)이 있지만 기본적인 아이디어가 분명 해졌어야합니다. 새 이벤트 메일 이외의 메일 항목에 대해이 작업을 수행하는 것은 아마도 같은 단계를 따릅니다.

+0

웃기는 중, 실제로이 페이지를 업데이트 할 때 같은 것을 쓰고있었습니다. 내 차이점은 모든 새 메일, 사용자가 클릭하는 메일 (오른쪽 클릭)에는 표시하지 않는 것입니다. 2010 년에 프로그래밍 관점에서 메일에서 별도의 첨부 파일을 저장할 수 있음을 확인했습니다. – DoStuffZ

관련 문제