MAPI NameSpace(摘抄)

获得现有 Outlook 项

除了创建新项以外,Outlook 2003 模型还允许获得(并且可能修改)现有项。不管对枚举哪个 Outlook 项感兴趣,基本过程都是:

  • Application.GetNamespace() 获得 NameSpace 类型。

  • NameSpace.GetDefaultFolder() 获得 MAPIFolder 类型。

  • 使用 MAPIFolder.Items 索引器枚举子项。

指定字符串"MAPI"作为 GetNamespace() 的参数时,将收到一个 NameSpace 类型,该类型表示具体的 Outlook 数据存储的抽象级别(目前,"MAPI"是唯一有效的命名空间)。MAPIFolder 类型可以表示给定用户的邮件存储中的任何文件夹(已删除项、收件箱、日记项等)。文件夹选项的完整范围由 OlDefaultFolders 枚举来表示:

public enum OlDefaultFolders
{
olFolderCalendar = 9;
olFolderConflicts = 19;
olFolderContacts = 10;
olFolderDeletedItems = 3;
olFolderDrafts = 16;
olFolderInbox = 6;
olFolderJournal = 11;
olFolderJunk = 23;
olFolderLocalFailures = 21;
olFolderNotes = 12;
olFolderOutbox = 4;
olFolderSentMail = 5;
olFolderServerFailures = 22;
olFolderSyncIssues = 20;
olFolderTasks = 13;
olPublicFoldersAllPublicFolders = 18;
}

要请求具体的文件夹,请将 OlDefaultFolders 枚举中的值指定为 NameSpace.GetDefaultFolder() 的参数。请考虑以下代码,这些代码枚举了当前用户的任务集合:

static void Main(string[] args)
{
// Create an Outlook Application object.
Application outLookApp = new Application();
// Print all tasks.
NameSpace outlookNS = outLookApp.GetNamespace("MAPI");
MAPIFolder theTasks =
outlookNS.GetDefaultFolder(OlDefaultFolders.olFolderTasks);
foreach(TaskItem task in theTasks.Items)
{
Console.WriteLine("-> Time Created: {0}", task.CreationTime);
Console.WriteLine("-> Body: {0}", task.Body);
}
}
http://www.qudong.com/soft/program/C/rumenjiaocheng/20080401/5239_4.html(摘自)

posted on 2008-08-06 09:58  逝去的时光  阅读(1523)  评论(0)    收藏  举报

导航