2011-11-01 4 views
2

VSTO, VS 2010 및 Outlook 2010을 사용하는 Outlook 용 솔루션을 개발 중입니다.Outlook의 기본 보내기 기능 무시

Outlook의 보내는 동작의 기본 기능을 무시하고 싶습니다.

다음은 필수 항목입니다.

사용자가 보내기 버튼을 클릭하면 SMS인지 "IPM.Note.Mobile.SMS"인지 확인해야합니다. 그것은 SMS 경우 다음 보내는 내 사용자 지정 구현을 제공해야합니다. SMS가 아닌 경우 기본 전송 동작입니다.

사용자 지정 부분을 보내려면 내 웹 서비스를 사용하고 처리해야합니다.

내가 원하는 것은 Outlook 2010의 기본 발신 기능을 재정의하는 방법/방법입니다..

MSDN, 검사기 래퍼 및 사용자 지정 비즈니스 규칙 적용에 대한 기사는 거의 읽지 않았지만 내가 원하는 것을 얻지 못했습니다. 그리고 나는 구원과 같은 제 3 자 DLL이 아닌 순수한 C# 솔루션을 원합니다. 내가, 내가 같은 :

이 제발 도와주세요 기대 내가 할 수있는만큼 구체적으로 시도 : D 감사합니다,

감사합니다 - 샘

당신은 Microsoft.Office.Interop.Outlook.Send 이벤트를 처리 할 필요가

답변

6

(ItemEvents_10_SendEventHandler). 참조 here을 볼 수 있습니다. 대략적인 예가 아래에 나와 있습니다. 메시지 클래스는 관리자 및 응용 프로그램 참조에서 활성 관리자로 가져올 수 있습니다.

((Outlook.ItemEvents_10_Event)inspector.CurrentItem).Send += new Outlook.ItemEvents_10_SendEventHandler(Inspector_Send); 

void Inspector_Send(ref bool Cancel) 
     { 
      if (IPM.Note.Mobile.SMS) 
      { 
       // custom implementation 
      } 
      else 
       Cancel = true; // don't send the message out 
     } 
+0

감사합니다. SilverNinja, 죄송합니다. 답장을 보내 주시면 학구적으로 바쁩니다. – Sam

3

여기에는 다른 해결책이 있습니다. 그냥 추가 in_StartUp이 줄을 포함 :

Application.ItemSend += new Outlook.ApplicationEvents_11_ItemSendEventHandler(Application_ItemSend); 

그리고 물론

, 이벤트 핸들러의 구현 : 이것은 당신이 보내는 메시지를 차단합니다

void Application_ItemSend(object Item, ref bool Cancel) 
    { 
     MessageBox.Show("Yihha!!"); 
     Cancel = true; 
    } 

.

+0

은 완벽하게 작동합니다. 공유해 주셔서 감사합니다. – joe