2012-03-14 6 views
0
に含まれる項目

Outlookから連絡先+配布リストをエクスポートしてBDDに保存するコードを作成します。それが行わだ後、私は、配布リストのための同じを、Outlookエクスポート配布リスト+ C#

mapiFolder.Items.Restrict([MessageClass] = \"IPM.Contact\); 

mapiFolder.Items.Restrict("[MessageClass] = \"IPM.DistList\""); 

私は私の配布リストを解析することだし、それらを格納します。

私は、次のコードを使用して連絡先をエクスポートすることができますライブラリ償還の助けを借り、このよう:

foreach (DistListItem distributionListItem in distributionListItems) 
       { 
        //use of Redemption to avoid a security message when accessing to contacts list 
        var safeList = new SafeDistList(); 

        safeList.Item = distributionListItem; 

        var safeDistListExtended = new SafeDistListExtended(safeList, distributionListItem.DLName); 

私はすべての競合製品を「読み」したらibutionリストが表示されたら、それをBDDに挿入します。

最初のもの:各配布リストに含まれているものを確認してください。自分自身が他の連絡先や配布リストなどを含むことができる連絡先リストや配布リスト。

var recipients = new List<SafeRecipient>(); 

     for (int counterMember = 1; counterMember <= pSafeDistListExtended.DistList.MemberCount; counterMember++) 
     { 
      SafeRecipient safeRecipient = pSafeDistListExtended.DistList.GetMember(counterMember); 

      safeRecipient.Resolve(); 

      if (safeRecipient.Resolved) 
      { 
       recipients.Add(safeRecipient);         
      } 
     } 

私の問題があり、私はContactItemsは私の配布リストに含まれ得ることができますが、私は配布に含まリストだけで自分の名前を取得することはできません。

私が望むのは、ループ "GetMember"を解析しているときに、実際に別のものに含まれている配布リストであるかどうかをオブジェクト "配布リスト"にキャストします。

今のところ、同じ種類のオブジェクトとして配布リストに含まれるすべてのオブジェクトが表示されます。

誰かがそれを行う方法を知っていましたか?ちょうどあなたが私たちがオブジェクト階層を期待する可能性があるため、ループ

Member.Count 

GetMember(x)

とのコンタクトを取得する方法は、理想的であることが遠く離れていることを知らせるために

。 ContactItems +またはDistributions Listsを含む配布リスト...

ありがとうございました。

答えて

0

まず、あなたの代わりにOOM +安全*項目オブジェクトを使用するオブジェクトのRDOファミリーに切り替えることもできます:http://www.dimastr.com/redemption/rdo_introduction.htm 第二に、RDODistListItem.GetMembersはRDOAddressEntriesを返します。そのコレクション内の各RDOAddressEntryオブジェクトに対して、各オブジェクトを再帰的に処理します。配布リストは、RDOAddressEntry.Membersコレクションを通じてメンバーを公開します。

関連する問題