Microsoft Outlook 物件模型通常用於訪問檔案夾中的各種類型的項目。本文包含可用於通過使用 Microsoft Visual C# .NET 來引用 Outlook 項目和 Outlook 檔案夾的方法、屬性和對象的樣本。
本文包含下列主題及其相關樣本:
- 引用現有的檔案夾
- GetDefaultFolder 方法
- Folders 對象
- Parent 屬性
- GetSharedDefaultFolder 方法
- GetFolderFromID 方法
- 建立新檔案夾和引用新檔案夾
- 建立新項目和引用新項目
- 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