VSTO Outlook 項目和檔案夾的編程樣本

來源:互聯網
上載者:User
Microsoft Outlook 物件模型通常用於訪問檔案夾中的各種類型的項目。本文包含可用於通過使用 Microsoft Visual C# .NET 來引用 Outlook 項目和 Outlook 檔案夾的方法、屬性和對象的樣本。

本文包含下列主題及其相關樣本:

  • 引用現有的檔案夾

    • GetDefaultFolder 方法
    • Folders 對象
    • Parent 屬性
    • GetSharedDefaultFolder 方法
    • GetFolderFromID 方法
  • 建立新檔案夾和引用新檔案夾
    • Folders.Add 方法
  • 建立新項目和引用新項目
    • CreateItem 方法
    • Items.Add 方法
    • CreateItemFromTemplate 方法
  • 引用現有的項目
    • Using Items(I) 方法
    • Using Items("Subject") 方法
    • Find 方法
    • Restrict 方法
    • GetItemFromID 方法

 

 

引用現有的檔案夾

GetDefaultFolder 方法

預設資料夾是那些與接收傳入郵件的“收件匣”處於同一層級的檔案夾。 如果設定檔中有多個“收件匣”,則可以按 Ctrl+Shift+I 來選擇預設“收件匣”。 預設資料夾是那些定期使用的檔案夾,如“日曆”檔案夾、“連絡人”檔案夾和“任務”檔案夾。 您可以使用 GetDefaultFolder 方法方便地引用這些檔案夾。 GetDefaultFolders 方法採用一個用於定義您要引用的檔案夾類型的參數。 Outlook 對象具有一個您可以選擇的枚舉。 此枚舉是在 Outlook.OlDefaultFolders 枚舉類型中定義的。 下面的範例程式碼將 oFolder 物件變數指定給預設的“收件匣”檔案夾。

 

Outlook._Application olApp = new Outlook.ApplicationClass(); Outlook._NameSpace olNS = olApp.GetNamespace("MAPI");

Outlook.MAPIFolder oFolder = olNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); Console.Write(oFolder.Name);

 

 Folders 對象

可以使用 Folders 對象來引用 Outlook 資料夾清單中的任何檔案夾。Folders 對象通常用於引用 Microsoft Exchange 檔案夾或不是預設 Outlook 檔案夾的其他任何檔案夾。

下面的範例程式碼說明如何引用名為“My Public Folder”的公用資料夾。請注意,您通常是先從最頂端的檔案夾開始,然後向下尋找您必須引用的檔案夾。另請注意,檔案夾名稱是區分大小寫。您必須使檔案夾的大小寫和名稱與其在 Outlook 資料夾清單中的顯示完全符合。

 

// TODO: Add code here to start the application.
Outlook._Application olApp = new Outlook.ApplicationClass();
Outlook._NameSpace olNS = olApp.GetNamespace("MAPI");Outlook._Folders oFolders;
oFolders = olNS.Folders;
Outlook.MAPIFolder oPublicFolder = oFolders.Item("Public Folders");
oFolders = oPublicFolder.Folders;
Outlook.MAPIFolder oAllPFolder = oFolders.Item("All Public Folders");
oFolders = oAllPFolder.Folders;
Outlook.MAPIFolder oMyFolder  = oFolders.Item("My Public Folder");
Console.Write(oMyFolder.Name);

 

 

Folders 對象

可以使用 Folders 對象來引用 Outlook 資料夾清單中的任何檔案夾。Folders 對象通常用於引用 Microsoft Exchange 檔案夾或不是預設 Outlook 檔案夾的其他任何檔案夾。

下面的範例程式碼說明如何引用名為“My Public Folder”的公用資料夾。請注意,您通常是先從最頂端的檔案夾開始,然後向下尋找您必須引用的檔案夾。另請注意,檔案夾名稱是區分大小寫。您必須使檔案夾的大小寫和名稱與其在 Outlook 資料夾清單中的顯示完全符合。

 

 // TODO: Add code here to start the application.
Outlook._Application olApp = new Outlook.ApplicationClass();
Outlook._NameSpace olNS = olApp.GetNamespace("MAPI");Outlook._Folders oFolders;
oFolders = olNS.Folders;
Outlook.MAPIFolder oPublicFolder = oFolders.Item("Public Folders");
oFolders = oPublicFolder.Folders;
Outlook.MAPIFolder oAllPFolder = oFolders.Item("All Public Folders");
oFolders = oAllPFolder.Folders;
Outlook.MAPIFolder oMyFolder  = oFolders.Item("My Public Folder");

 

 

GetSharedDefaultFolder 方法

如果另一個人已授予您使用其某個預設資料夾的許可權,則您可以使用此方法。您可以像使用 GetDefaultFolder 方法一樣來使用 GetSharedDefaultFolder 方法,但必須另外指定一個參數。該附加參數用於指定屬於其他人的檔案夾的名稱。該檔案夾是您要引用的檔案夾。下面的範例程式碼對其他人的名稱進行解析,以驗證該人的名稱是否有效,並驗證其名稱是否可以用於 GetSharedDefaultFolder 方法。

 

GetSharedDefaultFolder:

// TODO: Add code here to start the application.
Outlook._Application olApp = new Outlook.ApplicationClass();
Outlook._NameSpace olNs = olApp.GetNamespace("MAPI");
Outlook.Recipient oRecip = olNs.CreateRecipient("Brian Baker");
oRecip.Resolve();
if (oRecip.Resolved)
{
Outlook.MAPIFolder oFolder = olNs.GetSharedDefaultFolder(oRecip,Outlook.OlDefaultFolders.olFolderCalendar);
Console.Write(oFolder.Name);
}

 

 

詳細描述參考:http://support.microsoft.com/kb/310244/zh-cn

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.