How to Convert Unicode PST to ANSI PST File via Outlook VBA

You cannot access a Unicode PST file in Outlook 2002 and earlier versions in that the old versions of Outlook only support ANSI PST file. So in this article, we’ll teach you how to use VBA to convert Unicode PST file to ANSI PST.

As we all know, since Outlook 2003, Unicode, a new PST format is released with a lot of advantages than the older one, ANSI format. For instance, Unicode PST file has a much larger file size limit of 20 GB than 2 GB of the ANSI format. Therefore, many users prefer to upgrade PST file from ANSI to Unicode. However, in some cases, you may still need to convert Unicode PST file to ANSI PST. For example, if you would like to access a Unicode PST file in Outlook 2010 and earlier versions, you will surely receive error messages like “Outlook.pst is not compatible”. In this situation, the only way is to convert the Unicode PST file to ANSI format.

Convert Unicode PST to ANSI PST File

In general, you can realize it manually. Just create a new ANSI PST file and then copy all the items from the source Unicode PST to this file. But, without any doubts, doing this by hand is quite tiring. Thus, why don’t you seek other means? In the following, we will teach you to use Outlook VBA to accomplish it in one go.

Convert Unicode PST to ANSI PST File

  1. At the very outset, launch your Outlook program.
  2. Then in the main Outlook window, press “Alt + F11” key buttons to access the Outlook VBA editor.
  3. In the next new window, open a new module.
  4. Subsequently, copy and paste the following VBA codes into such a module.
Private Sub ConvertUnicode2ANSI()
    Dim objSourceFileFolders As Outlook.Folders
    Dim objfolder As Outlook.Folder
    Dim objNewPSTFileFolder As Outlook.Folder
 
    'Create a ANSI PST file in your desired name and local folder
    Outlook.Application.Session.AddStoreEx "E:\ANSIPST.pst", olStoreANSI
    Set objNewPSTFileFolder = Session.Folders.GetLast()
 
    'Get all the folders of the source Unicode PST file
    Set objSourceFileFolders = Outlook.Application.Session.Folders("source PST file display name").Folders
 
    'Copy all items & folders from the source Unicode PST to the new ANSIPST
    For Each objfolder In objSourceFileFolders
        objfolder.CopyTo objNewPSTFileFolder
    Next
End Sub

VBA Code - Convert Unicode PST to ANSI PST File

  1. After that, you should ensure that your Outlook allows macros.
  2. Eventually, you can run this new macro by either pressing F5 key or clicking on the “run” icon in the toolbar.
  3. Immediately, you will get a new ANSI PST file which contains all the items of the source Unicode PST file.

Convert ANSI PST to Unicode PST File

As what I’ve mentioned at the beginning, Unicode that is applied since Outlook 2003 and newer versions has many advantages, such as greatly increased file size limit of 20 GB and no restriction in the amount of items per folder. Therefore, in most cases, it is suggested to upgrade your ANSI PST file to Unicode PST file. For this, you can refer to our previous article – “How to Convert ANSI PST to Unicode PST File via Outlook VBA”.

Author Introduction:

Shirley Zhang is a data recovery expert in DataNumen, Inc., which is the world leader in data recovery technologies, including repair SQL Server and outlook repair software products. For more information visit www.datanumen.com

Comments are closed.