zoukankan      html  css  js  c++  java
  • VSTO 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

  • 相关阅读:
    面试官:重写 equals 时为什么一定要重写 hashCode?
    MyBatis 中为什么不建议使用 where 1=1?
    面试官:方法重写时需要注意哪些问题?
    Java中List排序的3种方法
    面试官:this和super有什么区别?this能调用到父类吗?
    面试官:int和Integer有什么区别?为什么要有包装类?
    HashMap 中的一个“坑”!
    Java 中接口和抽象类的 7 大区别!
    List 去重的 6 种方法,这个方法最完美!
    面试官:如何实现 List 集合去重?
  • 原文地址:https://www.cnblogs.com/Anlycp/p/1407573.html
Copyright © 2011-2022 走看看