Usando o Outlook 2013. Quando você redige um novo e-mail, geralmente há uma maneira de se livrar dele rapidamente, caso você não queira mais enviar o e-mail. Existe uma maneira de fazer isso no Outlook?
Tentei fechar a mensagem (e não salvar/manter quando solicitado), mas isso cria um novo item não lido na minha pasta de itens excluídos, fazendo com que ela acenda como uma árvore de Natal. Em seguida, tenho que entrar manualmente nessa pasta para limpar o rascunho.
Estou procurando algo como o ícone da lixeira do Gmail. Uma maneira simples e indolor com um clique de se livrar da mensagem de uma vez por todas. (Há ocasiões em que quero salvar um rascunho - só para garantir -, mas na maioria das vezes não o faço.)
ATUALIZAÇÃO: Você pode expor um botão "Excluir" na "Barra de ferramentas de acesso rápido" na parte superior, o que resulta na exclusão do item da mensagem. Isso funciona no momento em que você começou a digitar um novo e-mail. Clicar em excluir destrói a mensagem após o aviso obrigatório. Mas(!), assim que o e-mail é salvo automaticamente (depois de algum tempo), ele vai para a pasta Rascunhos. Excluir a mensagem neste ponto MANTÉM a mensagem, pois ela é simplesmente movida para Itens Excluídos.
Existe alguma configuração que pode fazer o Outlook imitar o botão da lixeira do Gmail ao criar um novo e-mail? É um caso de uso tão simples: “Não quero enviar o e-mail que acabei de iniciar, mudei de ideia, livre-se dele, apague todos os vestígios dele”. Esta é outra falha de recurso da Microsoft?
Responder1
- Você pode escrever um script VBA que faça algo comoDescartarmarcando a mensagem como lida e removendo-a paraItens deletados. Depois disso coloque o botão na janela de mensagem que executa a macro (usando Personalizar Faixa de Opções -> Macros).
Algo assim:
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
- LivreSuplemento de ajustes rápidospode marcar todos os itens excluídos como lidos automaticamente.
- SHIFT+ DELelimina mensagens selecionadas na lista de mensagens sem colocá-lasItens deletados.
Responder2
Eu descobri uma maneira de marcar automaticamente os itens adicionados à pasta excluída como lidos. Com esta solução não é necessário adicionar um botão vinculado a uma macro.
Basta adicionar o seguinte código a “ThisOutlookSession” no editor 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
Você precisará reiniciar o Outlook para que funcione.
Observe que isso se aplicará a todos os e-mails excluídos e não apenas aos rascunhos.
Responder3
A versão atual do Outlook possui vários botões de ação no meio da borda direita da janela e há um X vermelho para descartar.
Concordo que a interface do usuário do Outlook é péssima e pouco intuitiva, mas não deve haver necessidade de criar macros apenas para descartar um rascunho de mensagem.
Responder4
A versão que acabei usando possui código para remover o item de correio dos Itens Excluídos após a exclusão.
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