How to automatically save Outlook emails to hard drive/disk?
For backup, work evidences, or other purposes, you may want to save Outlook emails to hard drive. It’s easy to save several emails to disk with manually dragging from Outlook to disk. However, do you know how to automatically save each incoming email to disk? This article will introduce a VBA to handle it in Outlook.
This method will introduce a VBA to automatically save every incoming email in Outlook as individual HTML file to the specific disk. Please do as follows:
1. Press Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Expand the Project1, and double click ThisOutlookSession to open it, and then paste below VBA code into the ThisOutlookSession window. See screenshot:
VBA: Automatically save Outlook emails as HTML files to disk
Private WithEvents InboxItems As Outlook.Items Sub Application_Startup() Dim xNameSpace As Outlook.NameSpace Set xNameSpace = Outlook.Application.Session Set InboxItems = xNameSpace.GetDefaultFolder(olFolderInbox).Items End Sub Private Sub InboxItems_ItemAdd(ByVal objItem As Object) Dim FSO Dim xMailItem As Outlook.MailItem Dim xFilePath As String Dim xRegEx Dim xFileName As String On Error Resume Next xFilePath = CreateObject("WScript.Shell").SpecialFolders(16) xFilePath = xFilePath & "\MyEmails" Set FSO = CreateObject("Scripting.FileSystemObject") If FSO.FolderExists(xFilePath) = False Then FSO.CreateFolder (xFilePath) End If Set xRegEx = CreateObject("vbscript.regexp") xRegEx.Global = True xRegEx.IgnoreCase = False xRegEx.Pattern = "\||\/|\<|\>|""|:|\*|\\|\?" If objItem.Class = olMail Then Set xMailItem = objItem xFileName = xRegEx.Replace(xMailItem.Subject, "") xMailItem.SaveAs xFilePath & "\" & xFileName & ".html", olHTML End If Exit Sub End Sub
3. Save the VBA code, and restart your Microsoft Outlook.
From now on, each incoming email will be saved as individual HTML file into the “MyEmails” folder.
(1) This VBA will create a folder named “MyEmails” under the Documents folder. You can find out the automatically saved emails with this folder path: C:\Users\your_user_name\Documents\MyEmails
(2) This VBA will works with emails received in the Inbox folder of default email account.
- Auto CC/BCC by rules when sending email; Auto Forward Multiple Emails by custom; Auto Reply without exchange server, and more automatic features...
- BCC Warning - show message when you try to reply all if your mail address is in the BCC list; Remind When Missing Attachments, and more remind features...
- Reply (All) With All Attachments in the mail conversation; Reply Many Emails in seconds; Auto Add Greeting when reply; Add Date into subject...
- Attachment Tools: Manage All Attachments in All Mails, Auto Detach, Compress All, Rename All, Save All... Quick Report, Count Selected Mails...
- Powerful Junk Emails by custom; Remove Duplicate Mails and Contacts... Enable you to do smarter, faster and better in Outlook.
You are guest
or post as a guest, but your post won't be published automatically.
To post as a guest, your comment is unpublished.· 6 months agoI need to change the folder for one i created (no need folder inbox), and i need to change the folder to store the msg files, in my case in drive e:., thank!!!
To post as a guest, your comment is unpublished.· 11 months agoCan i have a certain report that is emailed to me each week save to a place on my hard drive? Just this one email. Comes from same email address and has the same title each week.
To post as a guest, your comment is unpublished.· 2 years agoCould you advise how to change this to another folder, not the Inbox?
To post as a guest, your comment is unpublished.· 2 years agoDzień doby, robię wszystko tak jak opisane powyżej, mimo to makro nie chce działać. Czy muszę włączyć jakieś opcję albo zmienić coś w kodzie?
Nie wywala błędu jednak nie tworzy się folder a plik się nie zapisuje.
Będę bardzo wdzięczna za odpowiedź
To post as a guest, your comment is unpublished.· 2 years agoHow can I add the sender's email address to the file name?
To post as a guest, your comment is unpublished.· 2 years agoBuonasera, è possibile modificare questo script con una versione che prevede di spostare i messaggi che arrivano in altra cartella anzichè quella classica della posta in arrivo? In altri termini, vorrei salvare automaticamente le mail che arrivano per esempio in Posta in Arrivo\Cliente1
grazie per la collaborazione