您的位置:首页 > 编程语言

VSTO Outlook 项目和文件夹的编程示例

2009-03-10 10:10 337 查看
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 方法

引用现有的文件夹

loadTOCNode(2, 'moreinformation');

GetDefaultFolder 方法

loadTOCNode(3, 'moreinformation');
默认文件夹是那些与接收传入邮件的“收件箱”处于同一级别的文件夹。 如果配置文件中有多个“收件箱”,则可以按 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);

[code]
[/code]

Folders 对象

loadTOCNode(3, 'moreinformation');
可以使用 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 对象

loadTOCNode(3, 'moreinformation');
可以使用 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 方法

loadTOCNode(3, 'moreinformation');
如果另一个人已授予您使用其某个默认文件夹的权限,则您可以使用此方法。您可以像使用 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: