Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in


How to import msg files from file system to Outlook folder?

Normally, you can import msg files from file system to an Outlook folder by dragging and dropping. In this article, we are going to show you an easy method to import all msg files from a file system to a specified Outlook folder in details.

Import msg files from file system to Outlook folder with VBA code

Easily save selected emails as different format files in Outlook:

With the Save as File utility of Kutools for Outlook, you can easily save multiple selected emailsas individual HTML format file, TXT format file, Word document, CSV file as well as PDF file in Outlook as below screenshot showed.

Kutools for Outlook: with more than 40 handy Outlook add-ins, free to try with no limitation in 45 days. Download and free trial Now!

Import msg files from file system to Outlook folder with VBA code

Please do as follows to import msg files from file system to a specified folder in Outlook.

1. Press the Alt + F11 keys to open the Microsoft Visual Basic for Applications window.

2. In the Microsoft Visual Basic for Applications window, click Insert > Module. Then copy below VBA code into the Module window.

VBA code: Import msg files from file system to Outlook folder

Sub ImportMessagesInFolder()
Dim xFSO As Scripting.FileSystemObject
Dim xSourceFld As Scripting.Folder
Dim xSourceFldPath As String
Dim xFileItem As Scripting.File
Dim xMSG As Object
Dim xMailItem As MailItem
Dim xSaveFld As Outlook.Folder
On Error Resume Next
Set xFSO = New Scripting.FileSystemObject
Set xSelFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Select a folder:", 0, 0)
If Not TypeName(xSelFolder) = "Nothing" Then
    xSourceFldPath = xSelFolder.self.Path + "\"
    xSourceFldPath = ""
    Exit Sub
End If
Set xSourceFld = xFSO.GetFolder(xSourceFldPath)
Set xSaveFld = GetObject("", "Outlook.Application").GetNamespace("MAPI").PickFolder
If TypeName(xSaveFld) = "Nothing" Then
    Exit Sub
End If
For Each xFileItem In xSourceFld.Files
    Set xMSG = Session.OpenSharedItem(xFileItem.Path)
    Set xMailItem = xMSG.Copy
    xMailItem.Move xSaveFld
    Set xMailItem = Nothing
    Set xMSG = Nothing
Next xFileItem
Set xFileItem = Nothing
Set xSourceFld = Nothing
Set xFSO = Nothing
End Sub

3. Press the F5 key to run the code. In the opening Browse For Folder dialog box, select the folder contains the msg files you will import to Outlook folder, and then click the OK button. See screenshot:

4. Now a Select Folder dialog box pops up, please select an Outlook folder to save the imported msg files, and click the OK button.

Then all msg files in a certain folder in your file system are imported into a specified Outlook folder immediately.

Related articles:

Recommended Productivity Tools for Excel

Kutools for Excel Helps You Always Finish Work Ahead of Time, and Stand Out From Crowd

  • More than 300 powerful advanced features, designed for 1500 work scenarios, increasing productivity by 70%, give you more time to take care of family and enjoy life.
  • No longer need memorizing formulas and VBA codes, give your brain a rest from now on.
  • Become an Excel expert in 3 minutes, Complicated and repeated operations can be done in seconds, 
  • Reduce thousands of keyboard & mouse operations every day, say goodbye to occupational diseases now.
  • 110,000 highly effective people and 300+ world-renowned companies' choice.
  • 60-day full features free trial. 60-day money back guarantees. 2 years of free upgrade and support.

Brings Tabbed Browsing and Editing to Microsoft Office, Far More Powerful Than The Browser's Tabs

  • Office Tab is designed for Word, Excel, PowerPoint and Other Office Applications: Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Amey Thombre · 1 years ago
    This is amazing and just does what i was looking for. just make sure that you have Microsoft System Runtime library selected in the references of the VBA project as Scripting object is from that library.