Como salvar automaticamente todos os e-mails recebidos no disco rígido via Outlook VBA

Compartilhe agora:

Um usuário pode querer salvar e-mails no disco rígido para visualizá-los independentemente do Outlook ou para compartilhar com outra pessoa. Neste artigo, apresentaremos como fazer isso automaticamente via VBA.

Exportar e-mails do Outlook

Arquivo de mensagem do OutlookNem todo usuário da Internet usa o Outlook como um cliente de e-mail e pode estar usando um alternativo. Também pode haver uma situação em que um e-mail precise ser compartilhado com alguém, sem enviar o e-mail real. Também para fins de documentação e escrutínio, os e-mails são frequentemente apresentados como prova. Para tais cenários, o Outlook oferece um método para exportar um e-mail independentemente como um arquivo .msg ou .html. O script VBA a seguir salva todos os e-mails recebidos automaticamente em um local predefinido no disco rígido sem intervenção do usuário no formato html. Depois de salvo, o e-mail pode ser visualizado em qualquer navegador de Internet sem a necessidade de um cliente de e-mail.

Script VBA do Outlook

Abaixo está o script VBA completo do Outlook:

Private WithEvents Items As Outlook.Items

Private Count As Integer

Private Sub Application_Startup()
         Dim objApp As Outlook.Application
         Dim objNameSpace As Outlook.NameSpace   

         '        Get the items in the Inbox folder
         Set objApp = Outlook.Application
         Set objNameSpace = objApp.GetNamespace("MAPI")
         Set Items = objNameSpace.GetDefaultFolder(olFolderInbox).Items       
         '        Initialize count
         Count = 1
End Sub
 
Private Sub Items_ItemAdd(ByVal objItem As Object)
         On Error GoTo ShowError        

         Dim objMail As Outlook.MailItem     

         '        Check if the item is a mail. If yes, then save it as a HTML file and update Count
         If TypeName(objItem) = "MailItem" Then
                   Set objMail = objItem
                   objMail.SaveAs "C:\MyEmails\MyEmail" & CStr(Count), olHTML
                   Count = Count + 1
         End If      

         Exit Sub

ShowError:
         MsgBox Err.Number & " - " & Err.Description
End Sub

Como executar o script

Imprensa Alt + F11 Abra o editor VBA do Outlook e cole o código acima em “ThisOutlookSession”. Antes de executar este script, certifique-se de que a pasta “C:\MeusEmails” exista e que o usuário tenha permissão de gravação nela. Além disso, é importante saber que, antes de executar este script, a biblioteca de objetos Microsoft Outlook XX deve ser adicionada às referências do projeto no menu “Ferramentas”, onde XX é a versão da biblioteca.

Entenda o roteiro

No script, a rotina “Items_ItemAdd” será acionada para cada item recebido na pasta Caixa de Entrada. A função “TypeName” serve para garantir que a rotina continue apenas se o item for um e-mail e não outro tipo de objeto do Outlook. Se você arrastar um e-mail de outra pasta, como “Itens Enviados”, para a Caixa de Entrada, a rotina ainda funcionará. É importante observar que “Items_ItemAdd” só será acionada se um e-mail for adicionado à pasta principal Caixa de Entrada. Se houver subpastas dentro da Caixa de Entrada, o código não funcionará se um e-mail for adicionado a alguma delas. Para que funcione com outras pastas, “Items_ItemAdd” deve ser associado à pasta específica na rotina “Application_Startup”. No script acima, o formato olHTML pode ser substituído pelos formatos olMSG, olRTF, olDoc ou olTxt. O formato de nome padrão para cada e-mail a ser salvo é “MeuEmail##”, onde ## é a contagem, começando em 1 e aumentando incrementalmente. Por exemplo, o décimo segundo e-mail recebido após a execução deste script será salvo como “MeuEmail12”.

Recuperação de dados após falha do Outlook

Não é um cenário muito incomum o Outlook quebrar e os usuários acabarem perdendo uma grande quantidade de dados. A recuperação de tais situações pode ser uma tarefa muito difícil e demorada. Para facilitar sua vida nesses casos, você pode usar um Recuperação de dados do Outlook ferramenta para uma recuperação eficiente e livre de bugs.

Introdução do autor:

Mary Underwood é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperação de dwg e rar produtos de software de recuperação. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.