3

Outlook フォルダーが公開されているかどうかを判断する方法が必要です。それを可能にするプロパティ Microsoft.Office.Interop.Outlook があると思いますが、見つかりません。

4

2 に答える 2

1

問題のフォルダーに関連付けられたインターフェイスを取得できる場合(申し訳ありませんが、純粋なC#でそれを行う方法がわかりません-償還IMsgStoreをお勧めします)、プロパティをクエリして、それがであるかどうかを確認できます。PR_MDB_PROVIDERpbExchangeProviderPublicGuid

KGの回答に対するコメントに基づいて更新します。

プライマリメールボックス内にある連絡先を除外するStoreID場合は、デフォルトの受信トレイフォルダーの連絡先と比較するか、他のストアのフォルダーを最初から列挙しないでください。

于 2011-05-18T10:23:34.000 に答える
0

必要なのはExchangeWebサービス、具体的にはFindFolder操作です(MSDNの説明については、ここまたはここを参照してください)。

見た目からは、@ RedDeckWinsが言及しているように、フォルダが「パブリック」であるかどうかを識別する特定のプロパティはありません。

アップデート

これにマネージドC#を使用する必要が特にない場合は、Powershell Exchangeコマンドレットを使用できます(これをここで確認してください)。具体的には、このコマンドが役立つ場合があります。

Get-PublicFolder -Recurse | Format-List Name

Powershellは、それ自体で非常に簡単に使用できますが、コードを実行しているサーバーにPowershellがインストールされている場合は、C#から呼び出すこともできます(最近のほとんどのボックスでは、Powershellがインストールされているはずです)。

C#に制限されている場合は、次のStackOverflowの質問をご覧ください:交換用のパブリックフォルダーへの電子メールアドレスのリスト

于 2011-02-10T00:30:04.323 に答える