Использование Outlook 2013. Когда вы создаете новое письмо, обычно есть способ быстро избавиться от него, если вы больше не хотите отправлять письмо. Есть ли способ сделать это в Outlook?
Я попытался закрыть сообщение (и не сохранить/оставить, когда меня об этом попросили), но это создает новый непрочитанный элемент в моей папке удаленных элементов, заставляя ее светиться как рождественская елка. Затем мне приходится вручную заходить в эту папку, чтобы очистить черновик.
Я ищу что-то вроде значка корзины Gmail. Простой и безболезненный способ одним щелчком избавиться от сообщения раз и навсегда. (Бывают случаи, когда я хочу сохранить черновик — на всякий случай — но чаще я этого не делаю.)
ОБНОВЛЕНИЕ: Вы можете выставить кнопку «Удалить» на «Панели быстрого доступа» вверху, что приведет к удалению элемента сообщения. Это работает в то время, когда вы только начали набирать новое электронное письмо. Нажатие «Удалить» уничтожает сообщение после обязательного предупреждения. Но (!), как только электронное письмо автоматически сохраняется (через некоторое время), оно попадает в папку «Черновики». Удаление сообщения на этом этапе СОХРАНЯЕТ его, поскольку оно просто перемещается в «Удаленные элементы».
Есть ли какая-то настройка, которая может заставить Outlook имитировать кнопку корзины Gmail при создании нового письма? Это такой простой вариант использования: «Я не хочу отправлять письмо, которое только что начал, передумал, избавился от него, сотри все его следы». Это еще один недостаток функции Microsoft?
решение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
- БесплатноНадстройка Quick Tweaksможно автоматически помечать все удаленные элементы как прочитанные.
- 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