2011-02-10 14 views
3

Outlook 2010のアドインを作成しています。ある時点で、ユーザーが現在選択しているメールアイテムを削除する必要があります。私は非常にうまく機能し、次のコードを、使用しています:Outlook 2010のアドインで、削除操作を元に戻すことができますか?

Selection selectedMessages = Globals.ThisAddIn.Application.ActiveExplorer().Selection; 

// It is possible for a non-mail item to be part of this collection. (One example is when a calendar 
// item is in the deleted items folder. Select it and hit this delete button.) 
System.Collections.IEnumerator enumerator = selectedMessages.GetEnumerator(); 
while(enumerator.MoveNext()) 
{ 
    if (enumerator.Current is MailItem) 
    { 
    ((MailItem)(enumerator.Current)).Delete(); 
    } 
} 

私の問題は、私はメッセージをこのように削除すると、通常の「元に戻す」操作は、ユーザーに利用できないということです。 です。ユーザーは[削除済みアイテム]フォルダに移動し、メッセージを受信トレイに戻すことができます。しかし、画面の左上隅にあるCtrl-Zまたは小さな「元に戻す」矢印を押すだけで慣れているユーザーにとっては混乱します。

このアクションを元に戻すメカニズムを登録する方法はありますか、またはメッセージのOutlookの「実際の」削除機能を呼び出して、元に戻す機能を自動的に使用できるようにする方法はありますか?

答えて

1

MailItemを削除しないでください。代わりにolFolderDeletedItemsフォルダに移動してください。 GetDefaultFolder()を使用すると、このフォルダへの参照を取得できます。 hereを参照してください。

+0

提案していただきありがとうございますが、それはしませんでした。メールアイテムは削除されますが、元に戻すコマンドの動作はMailItemのDeleteメソッドと同じです。取り消しはありません。 –

+0

@マーク:そうです。私はいくつかのより多くの研究をするでしょう... – CesarGon

+0

同じことが連絡先に適用されますか?私は今それらを削除しようとしていますが、おそらく私はそれらを 'olFolderDeletedItems'に移動する必要があります。しかし、私は私の連絡先を永遠に消滅させたい。 'olFolderReallyReallyTrulyDeletedItems'のようなフォルダがありますか? –

関連する問題