2

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

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

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

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

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

4 ответа4

1

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

Просто добавьте следующий код в "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, чтобы он заработал.

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

1

В текущей версии Outlook в центре правого края окна есть несколько кнопок действий, а для сброса отображается красный крестик.

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

0

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

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
0
  1. Вы можете написать сценарий VBA, который выполняет что-то вроде Discard , пометив сообщение как прочитанное и удалив его в Удаленные элементы. После этого поместите кнопку в окне сообщения, которое запускает макрос (с помощью Customize Ribbon -> Macros).

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

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 Add-In может пометить все удаленные элементы как прочитанные автоматически.
  2. SHIFT+DEL удаляет выбранные сообщения в списке сообщений, не помещая их в удаленные элементы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .