728x90
반응형
728x170
▶ CustomAddIn.cs
using Microsoft.Office.Interop.Outlook;
using System;
using System.Windows.Forms;
namespace TestProject
{
/// <summary>
/// 커스텀 애드인
/// </summary>
public partial class CustomAddIn
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 아웃룩 네임스페이스
/// </summary>
private NameSpace outlookNameSpace;
/// <summary>
/// 받은 편지함 폴더
/// </summary>
private MAPIFolder inboxFolder;
/// <summary>
/// 항목 컬렉션
/// </summary>
private Items items;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
//////////////////////////////////////////////////////////////////////////////// Event
#region 커스텀 애드인 시작시 처리하기 - CustomAddIn_Startup(sender, e)
/// <summary>
/// 커스텀 애드인 시작시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void CustomAddIn_Startup(object sender, EventArgs e)
{
this.outlookNameSpace = Application.GetNamespace("MAPI");
this.inboxFolder = outlookNameSpace.GetDefaultFolder(OlDefaultFolders.olFolderInbox);
this.items = this.inboxFolder.Items;
this.items.ItemAdd += items_ItemAdd;
}
#endregion
#region 커스텀 애드인 셧다운시 처리하기 - CustomAddIn_Shutdown(sender, e)
/// <summary>
/// 커스텀 애드인 셧다운시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void CustomAddIn_Shutdown(object sender, EventArgs e)
{
}
#endregion
#region 항목 컬렉션 항목 추가시 처리하기 - items_ItemAdd(item)
/// <summary>
/// 항목 컬렉션 항목 추가시 처리하기
/// </summary>
/// <param name="item">항목</param>
private void items_ItemAdd(object item)
{
string filter = "USED CARS";
MailItem mailItem = (MailItem)item;
if(item != null)
{
if(mailItem.MessageClass == "IPM.Note" && mailItem.Subject.ToUpper().Contains(filter.ToUpper()))
{
mailItem.Move(outlookNameSpace.GetDefaultFolder(OlDefaultFolders.olFolderJunk));
}
}
}
#endregion
//////////////////////////////////////////////////////////////////////////////// Function
#region VSTO에서 생성한 코드
/// <summary>
/// 디자이너 지원에 필요한 메서드입니다.
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
/// </summary>
private void InternalStartup()
{
this.Startup += new System.EventHandler(CustomAddIn_Startup );
this.Shutdown += new System.EventHandler(CustomAddIn_Shutdown);
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > Outlook' 카테고리의 다른 글
[C#/OUTLOOK] _MailItem 인터페이스 : UserProperties 속성을 사용해 사용자 속성 추가하기 (0) | 2021.06.16 |
---|---|
[C#/OUTLOOK] _Items 인터페이스 : Restrict 메소드를 사용해 받은 편지함에서 읽지 않은 메일 검색하기 (0) | 2021.06.16 |
[C#/OUTLOOK] _MailItem 인터페이스 : Attachments 속성을 사용해 메일 송신시 파일 첨부하기 (0) | 2021.06.16 |
[C#/OUTLOOK] _MailItem 인터페이스 : Attachments 속성을 사용해 첨부 파일 저장하기 (0) | 2021.06.16 |
[C#/OUTLOOK] ApplicationEvents_11_Event 인터페이스 : NewMail 이벤트를 사용해 신규 메일 수신시 처리하기 (0) | 2021.06.16 |
[C#/OUTLOOK] _MailItem 인터페이스 : Send 메소드를 사용해 메일 보내기 (0) | 2021.06.16 |
[C#/OUTLOOK] 연락처 삭제하기 (0) | 2021.06.16 |
[C#/OUTLOOK] 연락처에서 메일 주소 검색하기 (0) | 2021.06.16 |
[C#/OUTLOOK] 받은 편지함에서 하위 폴더 추가하기 (0) | 2021.06.16 |
[C#/OUTLOOK] MAPIFolder 인터페이스 : 연락처 폴더 구하기 (0) | 2021.06.16 |
댓글을 달아 주세요