Outlook: как получить доступ к другим папкам контактов? - PullRequest
3 голосов
/ 04 января 2011

У некоторых людей есть несколько списков / папок в Outlook в разделе «Контакты» (например, помимо «Контактов» и «Предлагаемых контактов», люди могут добавлять новые «папки» контактов).

Теперь мои вопросы:

  1. Как я могу получить список всех этих списков / папок?
  2. Как мне получить доступ ко всем контактам в любой из этих папок?

Я знаю, что если я хочу получить доступ к контактам из основного списка «Контакты», то код выглядит так:

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

Как это будет выглядеть при доступе к другим спискам контактов / папкам?

Спасибо!

1 Ответ

1 голос
/ 19 января 2011

Для доступа к папке «Предлагаемые контакты» действуйте точно так же, как для контакта, но

Вместо

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 # должна быть простой.

...