受信トレイと送信ボックスのフォルダーからメールを取得し、件名を比較して、一致する場合はすべて新しいカスタム フォルダーに入れたいと考えています。これまでのコードは次のとおりです。
Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)
this.Application.ActiveExplorer().Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderInbox);
// sentBox フォルダ用にもこれを作成しました
string userName = (string)this.Application.ActiveExplorer()
.Session.CurrentUser.Name;
Outlook.MAPIFolder customFolder = null;
customFolder = (Outlook.MAPIFolder)inBox.Folders.Add(userName,
Outlook.OlDefaultFolders.olFolderInbox);
inBox.Folders[userName].Display();
// これは、一致するメールを配置するカスタム フォルダーです
for (int i = 1; i <= sentboxFolder.Items.Count; i++)
{
outboxItem = sentboxFolder.Items[i];
for (int a = 1; a <= inBox.Items.Count; a++)
{
inboxItem = inBox.Items[a];
if ("RE: " + outboxItem.Subject == inboxItem.Subject)
{
customFolder.Items.Add(inboxItem);
// ここで、受信トレイと送信トレイのフォルダーをループし、件名が一致する場合は、受信トレイの部分をカスタム フォルダーに追加します。
3 つの質問があります: 1. 一致する両方のメールを 1 つのフォルダーに入れる方法はありますか? 2. 主題を比較する以外に、もっとスマートな方法があるはずです。ここで会話 ID を使用する方法を教えてください。3. 最後の行で、実際のオブジェクト インスタンスではないため、受信ボックス アイテムをカスタム フォルダに追加できないという例外が発生します。これを修正するには、mailitem をどこでインスタンス化する必要がありますか?
前もって感謝します。