Perhaps you’ve saved several Outlook emails in your Windows folder. Now, if you want to import them back to an Outlook folder, how can you do it? This article will teach you 3 ways.
As we all know, Outlook provides a built-in option – “Save As”, by which you can save the emails to Windows folder. However, there is no feature for you to re-add the exported emails back to the Outlook folder. Therefore, if you would like to import the Outlook emails back to Outlook, how can you realize it? In the followings, we will teach you 3 methods. You can choose any as per your preference.
Method 1: Drag & Drop to Import
- At the very outset, you need to access the source Windows folder which is storing the Outlook emails to be imported to Outlook.
- Then, launch your Outlook application.
- Next open the Outlook folder which you want to import the emails to.
- Subsequently, you need to narrow both the Windows folder window and Outlook window until you can view them in the meantime.
- After that, in the Windows folder, you can select one of the Outlook emails and then press “Ctrl + A” to select all of them.
- Later you can drag and drop the selected emails to the visible Outlook folder, like the following screenshot:
- Finally, you will see that all the Outlook emails have been imported from the Windows folder to the Outlook folder, shown as the image below:
Method 2: Use “CreateItemFromTemplate” in VBA
- To start with, in the main Outlook window, press “Alt + F11” key buttons.
- Next you will get access to Outlook VBA editor window.
- Then copy the following VBA code into a blank module.
Sub ImportAllOutlookEmailsfromLocaltoOutlook1() Dim objFileSystem As Object Dim strLocalFolderPath As String Dim objLocalFolder As Object Dim objTargetFolder As Outlook.Folder Dim objFiles As Object Dim objFile As Object Dim strFileType As String Dim objItem As Object Set objFileSystem = CreateObject("Scripting.FileSystemObject") strLocalFolderPath = strSelectedFolder("") Set objLocalFolder = objFileSystem.GetFolder(strLocalFolderPath) Set objFiles = objLocalFolder.Files 'Set the target Outlook folder Set objTargetFolder = Session.GetDefaultFolder(olFolderInbox).folders("Ago") For Each objFile In objFiles strFileType = objFileSystem.GetExtensionName(objFile) If strFileType = "msg" Then Set objItem = Outlook.Application.CreateItemFromTemplate(objFile.Path) objItem.Move objTargetFolder 'Delete the source file in the Windows folder 'objFileSystem.DeleteFile (objFile.Path) End If Next End Sub Function strSelectedFolder(strStartFolder As String) As String Dim objShell As Object Dim objFolder As Object On Error Resume Next Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(0, "Select the source folder:", 0, strStartFolder) strSelectedFolder = objFolder.self.Path End Function
- Next you can press F5 key button in the current module window to start the macro.
- After that, you need to browse to the source Windows folder in the popup dialog box.
- Lastly, after selecting source folder, all the Outlook items in that folder will be import into the predefined Outlook folder.
- Note: in this way, the imported emails are all fresh new emails, which you can compose at will, like the following screenshot:
Method 3: Utilize “OpenSharedItem” in VBA
- Like the Method 2, copy the following VBA codes into another module.
Sub ImportAllOutlookEmailsfromLocaltoOutlook2() Dim objFileSystem As Object Dim strLocalFolderPath As String Dim objLocalFolder As Object Dim objTargetFolder As Outlook.Folder Dim objFiles As Object Dim objFile As Object Dim strFileType As String Dim objItem As Object Dim objCopiedItem As Outlook.MailItem Set objFileSystem = CreateObject("Scripting.FileSystemObject") strLocalFolderPath = strSelectedFolder("") Set objLocalFolder = objFileSystem.GetFolder(strLocalFolderPath) Set objFiles = objLocalFolder.Files 'Set the target Outlook folder Set objTargetFolder = Session.GetDefaultFolder(olFolderInbox).folders("Ago") For Each objFile In objFiles strFileType = objFileSystem.GetExtensionName(objFile) If strFileType = "msg" Then Set objItem = Session.OpenSharedItem(objFile.Path) 'Only import emails If TypeOf objItem Is MailItem Then Set objCopiedItem = objItem.Copy objCopiedItem.Move objTargetFolder 'Delete the source file in the Windows folder 'objFileSystem.DeleteFile (objFile.Path) End If End If Next End Sub Function strSelectedFolder(strStartFolder As String) As String Dim objShell As Object Dim objFolder As Object On Error Resume Next Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(0, "Select the source folder:", 0, strStartFolder) strSelectedFolder = objFolder.self.Path End Function
- Then run this macro by hitting “F5” key button.
- Next select the source folder.
- Eventually all the emails will be imported as the image below:
Comparisons
Methods | Advantages | Disadvantages |
Method 1 | It is easier to be accepted for those who aren’t familiar with VBA. | This demands you to narrow the two windows until you can see both. |
Method 2 | You can use the imported emails as fresh new emails, which you can compose and send at will. | If there are other Outlook items saved with “.msg” format in the Windows folder, such as contacts or tasks, this way will import them too. |
Method 3 | It can recognize Outlook emails precisely and escape other Outlook items. | By this means, you are unable to compose and send the imported emails as easily as the Method 2. |
Means to Block PST Data Corruption
As we all know, Outlook comes preinstalled with an inbuilt tool – Scanpst. Most of time, it is capable of solving small problems. However, if the issues are blazing severe, the built-in tool will tend to fail. So, you had better recur to a more potent tool, such as DataNumen Outlook Repair.
Author Introduction:
Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including SQL Server corruption and outlook repair software products. For more information visit www.datanumen.com
rafmwoddwtjronpxeanbbebhhwjbfr