【问题标题】:Outlook: How to access other contact folders?Outlook:如何访问其他联系人文件夹?
【发布时间】:2011-01-04 09:57:20
【问题描述】:

有些人在 Outlook 中的联系人下有许多列表/文件夹(例如,除了联系人和建议的联系人之外,人们还可以添加新的联系人“文件夹”)。

现在,我的问题:

  1. 如何获取所有这些列表/文件夹的列表?
  2. 如何访问这些文件夹中的所有联系人?

我知道如果我想从主“联系人”列表中访问联系人,那么代码如下所示:

   MAPIFolder oMAPIFolder = 
              oNmSpc.GetDefaultFolder(OlDefaultFolders.olFolderContacts);
   oItemsTemp = oMAPIFolder.Items;

访问其他联系人列表/文件夹时会是什么样子?

谢谢!

【问题讨论】:

    标签: c# outlook contacts mapi


    【解决方案1】:

    要访问“建议的联系人”文件夹,请按照您对联系人的操作进行操作,但

    而不是

    outlook := CreateOLEObject('Outlook.Application');
      NameSpace := outlook.GetNameSpace('MAPI');
      ContactsRoot := NameSpace.GetDefaultFolder(olFolderContacts) ;
    

    使用

    outlook := CreateOLEObject('Outlook.Application');
      NameSpace := outlook.GetNameSpace('MAPI');
      SuggestedContactsRoot := NameSpace.GetDefaultFolder(olFolderSuggestedContacts);
    

    其中 olFolderSuggestedContacts 的值为 30(十进制)或十六进制的 $0000001E

    我知道这是 Delphi 语言,但适应 C# 应该很简单。

    【讨论】:

    • 好的。但是如何列出其他包含联系人的文件夹?
    • 您需要从 Namespace.Folders 集合开始递归遍历所有子文件夹 (MAPIFolder.Folders)(返回所有商店的顶级文件夹)。
    猜你喜欢
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多