4

Outlookアドインをプログラミングしていて、選択した電子メールが送信元Inboxかどうかを判断Sent Itemsして、データベースに保存するときにその電子メールにfolder="Inbox"または"Sent"のタグを付ける必要があります。

フォルダ名を受信トレイまたは送信済みアイテムと比較してフォルダを特定できることは理解していますが、選択したメールが受信トレイのサブフォルダの1つにあるかどうかを判断するにはどうすればよいですか。FolderType選択したメールのフォルダが受信トレイであるか送信されているかを確認するプロパティはありますか(アイテムタイプをで識別するのと同様OlItemType)?

4

1 に答える 1

7

を見て、MailItem.Parentにキャストする必要がありますOutlook.Folder。を取得したらFolder、を介して表示名にアクセスできますFolder.Name。選択したアイテムがのサブフォルダーであるかどうかを確認する場合は、 nullになるまでツリーInboxを再帰的に呼び出して、ルートの親フォルダーを見つける必要があります。ParentParent

Outlook.Explorer explorer = Globals.ThisAddIn.Application.ActiveExplorer();
Outlook.MailItem mailItem = explorer.Selection.OfType<Outlook.MailItem>().First();
Outlook.Folder parentFolder = mailItem.Parent as Outlook.Folder;
if (parentFolder.Parent == null) // we are at the root
{
  string folderName = parentFolder.Name;
}
else
  // .. recurse up the parent tree casting parentFolder.Parent as Outlook.Folder...

このサンプルコードには、明らかにエラー処理オブジェクト処理を追加する必要があります。

于 2012-08-13T20:48:35.533 に答える