2012-05-03 41 views
8

Tôi đã cố gắng tìm ra cách để có danh sách tất cả thư mục xem trong một thời gian ngắn, nhưng chỉ có thể nhận danh sách các thư mục mặc định (tức là Hộp thư đến, hộp thư đi, đã gửi mục, mục đã xóa, v.v.). Nếu tôi có thư mục cá nhân hoặc tùy chỉnh mà tôi đã tạo thì sao? Ví dụ: nếu tôi thêm thư mục vào triển vọng được gọi là "Biên lai", thì đây không phải là thư mục mặc định và sẽ không hiển thị trong "thư mục mặc định". Làm cách nào để truy cập thư mục này bằng cách sử dụng Microsoft.Office.Interop.Outlook trong C#.Lấy danh sách tất cả thư mục và thư mục Outlook

Tôi đang cố gắng tạo một cách để tự động tải xuống một số thư mới nhất định vào bảng tính từ bất kỳ thư mục cụ thể nào. Tôi nghĩ nếu tôi có thể nhận được một danh sách tất cả các thư mục thì tôi chỉ có thể nhận được các tin nhắn từ các thư mục đã chọn.

Outlook._Folders oFolders;   
Outlook.MAPIFolder oPublicFolder = olNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolder‌​Inbox).Parent; 
foreach (Outlook.MAPIFolder Folder in oFolders) 
+1

gì đang nhìn bạn như bây giờ mà chỉ được một số các thư mục? – sarnold

+0

Vâng, tôi đã thử đăng mã của mình nhưng tôi bị giới hạn. Về cơ bản, nó tóm lại điều này (Moderators, bạn có thể chỉnh sửa nó không?): Microsoft.Office.Interop.Outlook._Folders oFolders; Microsoft.Office.Interop.Outlook.MAPIFolder oPublicFolder = olNS.GetDefaultFolder (Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox) .Parent; foreach (Thư mục Microsoft.Office.Interop.Outlook.MAPIFolder trong oFolders) Đây không phải là mã chính xác của tôi, chỉ có một phiên bản cô đọng mà tôi đã sao chép (xin lỗi). – mtlca401

Trả lời

8

Điều này sẽ in ra tất cả các thư mục trong triển vọng của bạn bao gồm các thư mục công cộng của bạn.

foreach (MAPIFolder folder in olNS.Folders) 
{ 
    GetFolders(folder); 
} 

public void GetFolders(MAPIFolder folder) 
{ 
    if (folder.Folders.Count == 0) 
    { 
     Console.WriteLine(folder.FullFolderPath); 
    } 
    else 
    { 
     foreach (MAPIFolder subFolder in folder.Folders) 
     { 
       GetFolders(subFolder); 
     } 
    } 
} 
Các vấn đề liên quan