Удалить новый черновик электронного письма, который вы редактируете в Outlook

Удалить новый черновик электронного письма, который вы редактируете в Outlook

Использование Outlook 2013. Когда вы создаете новое письмо, обычно есть способ быстро избавиться от него, если вы больше не хотите отправлять письмо. Есть ли способ сделать это в Outlook?

Я попытался закрыть сообщение (и не сохранить/оставить, когда меня об этом попросили), но это создает новый непрочитанный элемент в моей папке удаленных элементов, заставляя ее светиться как рождественская елка. Затем мне приходится вручную заходить в эту папку, чтобы очистить черновик.

Я ищу что-то вроде значка корзины Gmail. Простой и безболезненный способ одним щелчком избавиться от сообщения раз и навсегда. (Бывают случаи, когда я хочу сохранить черновик — на всякий случай — но чаще я этого не делаю.)

ОБНОВЛЕНИЕ: Вы можете выставить кнопку «Удалить» на «Панели быстрого доступа» вверху, что приведет к удалению элемента сообщения. Это работает в то время, когда вы только начали набирать новое электронное письмо. Нажатие «Удалить» уничтожает сообщение после обязательного предупреждения. Но (!), как только электронное письмо автоматически сохраняется (через некоторое время), оно попадает в папку «Черновики». Удаление сообщения на этом этапе СОХРАНЯЕТ его, поскольку оно просто перемещается в «Удаленные элементы».

Есть ли какая-то настройка, которая может заставить Outlook имитировать кнопку корзины Gmail при создании нового письма? Это такой простой вариант использования: «Я не хочу отправлять письмо, которое только что начал, передумал, избавился от него, сотри все его следы». Это еще один недостаток функции Microsoft?

решение1

  1. Вы можете написать скрипт VBA, который делает что-то вродеОтказатьсяотметив сообщение как прочитанное и удалив егоУдаленные объекты. После этого поместите кнопку в окно сообщения, которое запускает макрос (используя Настроить ленту -> Макросы).

Что-то вроде этого:

Sub Discard()
    On Error Resume Next
    Dim objItem As MailItem

    Set objInspector = ActiveInspector
    If Not objInspector Is Nothing Then
        Set objItem = objInspector.CurrentItem
        If Not objItem Is Nothing And Not objItem.Sent Then
            objItem.UnRead = False
            objItem.Delete
        End If
    End If
End Sub
  1. БесплатноНадстройка Quick Tweaksможно автоматически помечать все удаленные элементы как прочитанные.
  2. SHIFT+ DELудаляет выбранные сообщения из списка сообщений, не помещая их тудаУдаленные объекты.

решение2

Я нашел способ автоматически отмечать элементы, которые добавляются в папку удаленных, как прочитанные. С этим решением нет необходимости добавлять кнопку, связанную с макросом.

Просто добавьте следующий код в «ThisOutlookSession» в редакторе VBA:

Private WithEvents deletedItems As Outlook.Items

Private Sub Application_Startup()
    Dim olApp As Outlook.Application
    Dim objNS As Outlook.NameSpace
    Set olApp = Outlook.Application
    Set objNS = olApp.GetNamespace("MAPI")
    'Default folder for deleted items
    Set deletedItems = objNS.GetDefaultFolder(olFolderDeletedItems).Items
End Sub

Private Sub deletedItems_ItemAdd(ByVal Item As Object)
    Dim deletedEmail As Outlook.MailItem
    If TypeName(Item) = "MailItem" Then
        Set deletedEmail = Item
        deletedEmail.UnRead = False
    End If
End Sub

Чтобы все заработало, вам придется перезапустить Outlook.

Обратите внимание, что это будет применяться ко всем удаленным письмам, а не только к черновикам.

решение3

В текущей версии Outlook имеется ряд кнопок действий посередине правого края окна, а также красный значок «X» для отмены.

Согласен, что пользовательский интерфейс Outlook довольно ужасен и неинтуитивен, но нет необходимости создавать макросы только для того, чтобы удалить черновик сообщения.

решение4

Версия, которую я в итоге использовал, содержит код для удаления почтового элемента из списка «Удаленные» после удаления.

Sub Discard()
    On Error Resume Next
    Dim objItem As MailItem

    Set objInspector = ActiveInspector
    If Not objInspector Is Nothing Then
        Set objItem = objInspector.CurrentItem
        If Not objItem Is Nothing And Not objItem.Sent Then
            'no EntryID exists for freshly created mail, but does for a draft
            MyEntryId = objItem.EntryID
            objItem.UnRead = False
            objItem.Delete
            If Not MyEntryId = "" Then
                Dim oDeletedItems As Outlook.Folder
                'Obtain a reference to deleted items folder
                Set oDeletedItems = Application.Session.GetDefaultFolder(olFolderDeletedItems)
                'Delete last item from Deleted Items
                oDeletedItems.Items.Item(oDeletedItems.Items.Count).Delete
            End If
        End If
    End If
End Sub

Связанный контент