Cómo guardar automáticamente cada correo electrónico entrante en el disco duro a través de Outlook VBA

Comparte ahora:

Es posible que un usuario desee guardar los correos electrónicos en el disco duro para verlos independientemente de Outlook o para compartirlos con otra persona. En este artículo, presentaremos cómo hacerlo automáticamente a través de VBA.

Exportar correos electrónicos desde Outlook

Archivo de mensaje de OutlookNo todos los usuarios de Internet usan Outlook como cliente de correo electrónico y pueden estar usando uno alternativo. También puede haber una situación en la que un correo electrónico deba compartirse con alguien, sin enviar el correo electrónico real. También para fines de documentación y escrutinio, los correos electrónicos a menudo se presentan como evidencia. Para tales escenarios, Outlook ofrece un método para exportar un correo electrónico de forma independiente como un archivo .msg o .html. El siguiente script de VBA guarda cada correo electrónico entrante automáticamente en una ubicación predefinida en el disco duro sin la intervención del usuario en formato html. Una vez guardado, el correo electrónico se puede ver en cualquier navegador de Internet sin la necesidad de un cliente de correo electrónico.

Secuencia de comandos de Outlook VBA

A continuación se muestra el script completo de Outlook VBA:

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

Cómo ejecutar el script

Prensa Alt + F11 Abra el editor VBA de Outlook y pegue el código anterior en “ThisOutlookSession”. Antes de ejecutar este script, asegúrese de que la carpeta “C:\MyEmails” exista y que el usuario tenga permisos de escritura. Además, es importante tener en cuenta que, antes de ejecutar este script, debe agregar la biblioteca de objetos Microsoft Outlook XX a las referencias del proyecto desde el menú “Herramientas”, donde XX representa la versión de la biblioteca.

Entender el guión

En el script, la rutina "Items_ItemAdd" se activará con cada elemento que llegue a la carpeta Bandeja de entrada. La función "TypeName" garantiza que la rutina solo se ejecute si el elemento es un correo electrónico y no otro tipo de objeto de Outlook. Si arrastra un correo electrónico desde cualquier otra carpeta, por ejemplo, "Elementos enviados", a la bandeja de entrada, la rutina seguirá funcionando. Es importante tener en cuenta que "Items_ItemAdd" solo se activará si se agrega un correo electrónico a la carpeta principal Bandeja de entrada. Si hay carpetas anidadas dentro de la carpeta principal Bandeja de entrada, el código no funcionará si se agrega un correo electrónico a cualquiera de ellas. Para que funcione con otras carpetas, "Items_ItemAdd" debe vincularse a esa carpeta específica en la rutina "Application_Startup". En el script anterior, el formato olHTML se puede reemplazar por los formatos olMSG, olRTF, olDoc u olTxt. El formato de nombre predeterminado para cada correo electrónico que se guardará es "MiCorreo##", donde ## es el contador que comienza en 1 y aumenta de forma incremental. Por ejemplo, el duodécimo correo electrónico entrante después de ejecutar este script se guardará como "MiCorreo12".

Recuperación de datos después de un error de Outlook

No es un escenario muy raro que Outlook se rompa y los usuarios terminen perdiendo una gran cantidad de datos. Recuperarse de tales situaciones puede ser una tarea muy dura y que requiere mucho tiempo. Para facilitarle la vida en tales casos, puede utilizar un Recuperación de datos de Outlook herramienta para una recuperación eficiente y sin errores.

Introducción del autor:

Mary Underwood es experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo recuperación de dwg y rar productos de software de recuperación. Para más información visite www.datanumen.com

Comparte ahora:

Los comentarios están cerrados.