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

摘要:
Microsoft Outlook对象模型通常用于访问文件夹中的各种类型的项目。本文包含可用于使用Microsoft Visual C#引用Outlook项目和Outlook文件夹的方法、属性和对象的示例。NET。Outlook对象具有可以选择的枚举。展望。_ApplicationolApp=newOutlook.ApplicationClass();展望。_NameSpaceolNS=olApp.GetNamespace;Outlook.MAPIFolderoFolder=olNS.GetDefaultFolder;Console.Write;Folders对象可以使用Folders对象引用Outlook文件夹列表中的任何文件夹。您必须与Outlook文件夹列表中显示的文件夹大小写和名称完全匹配。此附加参数用于指定属于其他人的文件夹的名称。
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

免责声明:文章转载自《VSTO Outlook 项目和文件夹的编程示例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇大漠插件jquery--监听checkbox多选框是否选中,展示输入框下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

当Outlook 2010 Beta遇上Windows Mobile Device Center 6.1

我的WM手机一直都是通过Windows Mobile Device Center与Outlook同步联系人、日历等。(其实同步联系人不仅仅有这种方案,比如还通过Windows MyPhone或者http://www.funambol.com/等工具)。 以前,在Outlook 2007上一切都正常。不过最近买了新笔记本,安装了Windows 7 64bit...

Python 调用outlook发送邮件(转 )

单账号: import win32com.client as win32 def send_mail(): outlook = win32.Dispatch('Outlook.Application') mail_item = outlook.CreateItem(0) # 0: olMailItem mail_...

Outlook无法更改邮件内容字体颜色详解

过去两年用一直Notes,最近开始改用Outlook2007,发现新邮件无法更改字体的颜色和格式,有些想强调的语句没有办法凸显,相信有些同学也遇到和我一样的问题。在这里把outlook邮件内容格式详细的说一下。 解决办法很简单:在Outlook -> Options -> 里面选中“HTML”。我们可以看到Outlook支持3类邮件内容格式:1...

如何快速重置OUTLOOK2013,2016到初始配置状态,outlook 修改数据文件位置

适用范围: 安装OUTLOOK的机器 知识点分析:   快速清除当前OUTLOOK所有账户,回归到初始配置状态。 操作步骤:   WIN+R调出运行 输入: C:Program Files (x86)Microsoft OfficeOffice14outlook.exe /importprf ..prf 注意: C:Program Files (x86)M...

Foxmail中配置O365邮箱和Hotmail邮箱

一、简述 平时我们经常使用第三方的邮箱工具来管理邮箱。可能性能比Outlook好很多,比如Foxmail,而且也能和Skype会议关联的很好。本文就讲如何在Outlook中关联Office365邮箱和Outlook邮箱。   二、方案 1、Office365邮箱和Outlook邮箱都可以使用IMAP类型来接收。这效果更好,会把邮箱中的文件夹也同步下来。 (...

批量修改outlook联系人头像,并同步手机

打开outlook按 ALT+F11打开宏编辑器,输入代码 Public Sub UpdateContactPhoto()     Dim myOlApp As Outlook.Application     Dim myNamespace As Outlook.NameSpace     Dim myContacts As Outlook.Items  ...