첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

▶ MAPIFolder 인터페이스 : 전체 폴더 경로를 사용해 폴더 구하기 예제

using Microsoft.Office.Interop.Outlook;

MAPIFolder folder = GetFolder(@"\\icodebroker@naver.com\Test1\Test2\Test3");

if(folder != null)
{
    System.Windows.Forms.MessageBox.Show(folder.FullFolderPath);
}
else
{
    System.Windows.Forms.MessageBox.Show("폴더가 없습니다.");
}

 

728x90

 

▶ MAPIFolder 인터페이스 : 전체 폴더 경로를 사용해 폴더 구하기

using Microsoft.Office.Interop.Outlook;

#region 자식 폴더 구하기 - GetChildFolder(folders, childFolderName)

/// <summary>
/// 자식 폴더 구하기
/// </summary>
/// <param name="folders">폴더 컬렉션</param>
/// <param name="childFolderName">자식 폴더명</param>
/// <returns>자식 폴더</returns>
public MAPIFolder GetChildFolder(Folders folders, string childFolderName)
{
    try
    {
        MAPIFolder folder = folders[childFolderName];

        return folder;
    }
    catch(System.Exception)
    {
        return null;
    }
}

#endregion
#region 폴더 구하기 - GetFolder(fullFolderPath)

/// <summary>
/// 폴더 구하기
/// </summary>
/// <param name="fullFolderPath">전체 폴더 경로</param>
/// <returns>폴더</returns>
public MAPIFolder GetFolder(string fullFolderPath)
{
    string[] pathElementArray = fullFolderPath.Substring(2).Split('\\');

    int pathElementArrayLength = pathElementArray.Length;

    MAPIFolder currentFolder = null;

    for(int i = 0; i < pathElementArrayLength; i++)
    {
        string folderName = pathElementArray[i];

        if(currentFolder == null)
        {
            MAPIFolder folder = GetChildFolder(Application.ActiveExplorer().Session.Folders, folderName);

            if(folder == null)
            {
                return null;
            }
            else
            {
                currentFolder = folder;
            }
        }
        else
        {
            MAPIFolder folder = GetChildFolder(currentFolder.Folders, folderName);

            if(folder == null)
            {
                return null;
            }
            else
            {
                currentFolder = folder;
            }
        }
    }

    return currentFolder;
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요