Я пишу надстройку для 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 в сообщении, чтобы можно было автоматически отменить отмену?
Спасибо за предложение, но это не сделало этого. Он удаляет почтовый элемент, но поведение команды Undo идентично использованию метода Delete в MailItem. Отменить нельзя. –
@Mark: Хорошо. Я сделаю еще несколько исследований ... – CesarGon
То же самое касается контактов? Я пытаюсь удалить их сейчас, но, возможно, я должен переместить их в 'olFolderDeletedItems'. Тем не менее, я хочу, чтобы мои контакты ушли навсегда. Есть ли такая папка, как 'olFolderReallyReallyTrulyDeletedItems'.? –