■ MAPIFolder 인터페이스를 사용해 전체 폴더 경로를 사용해 폴더를 구하는 방법을 보여준다.
▶ MAPIFolder 인터페이스 : 전체 폴더 경로를 사용해 폴더 구하기 예제 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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("폴더가 없습니다."); } |
▶ MAPIFolder 인터페이스 : 전체 폴더 경로를 사용해 폴더 구하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
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 |