Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where does Outlook store the VBA code files?

Tags:

I had a VBA project in outlook with a few email macros - but after a PC crash they are all gone and all I see is a fresh 'Project1' when I hit Alt+F11

I'm not a VBA programmer, but had a collection of handy macros for email sorting etc. I would not like to have to code them again. Anyone know where the code files should be on the filesystem so that I might rescue the code?

like image 716
Frep D-Oronge Avatar asked Oct 24 '08 14:10

Frep D-Oronge


People also ask

Where is VBA in Outlook stored?

VBA macros are stored in a file that's named VbaProject. OTM. This file is a product storage file and isn't meant for distribution. Outlook doesn't provide a direct means to manage OTM files.

Where is VBA code stored?

In Excel, VBA code can be stored in three different locations: in a Visual Basic module, in a Visual Basic class module, and "behind" worksheets and workbooks. To edit code "behind" a worksheet or a workbook: Activate the Visual Basic Editor (press ALT+F11).

Where are Outlook 2016 macros stored?

xlb file or in specific spreadsheets; all Microsoft Outlook macros are stored in one global file in your file system. Specifically, the file storing all you Macros is named VBAProject. otm. The file can be found at: C:\users\<your_user_name>\AppData\Roaming\Microsoft\Outlook.


2 Answers

This page has some really good insight on where Outlook keeps all its stuff. It suggests the following:

All Outlook macros are stored in a single file named VbaProject.otm in the user's %appdata%\Microsoft\Outlook folder, which will be a hidden folder on most systems.

Now, the problem is that if you do not see them now, then you probably won't be able to restore them from that location: there is probably either an "empty" project there or no project at all, but if that folder is being backed up, you might be able to restore it.

Moving forward, you might consider exporting your macros periodically in case this happens again, either through the VBA IDE (right-click and select Export File...) or using one of the tools mentioned in the linked article (like the Office Profile Wizard).

like image 89
Dave DuPlantis Avatar answered Oct 08 '22 11:10

Dave DuPlantis


Ok. things to try to fix this...

I assume after the problem occured you tried logging back into the same windows user account, and the same Outlook profile.

  1. Create a new windows login to the machine in question.
  2. Login to this account and open Outlook, this will create a new outlook profile. make note of the profile name (to find this: Control Panel > Mail applet > Show Profiles...)
  3. Now Exit Outlook, and make sure it is not running (check for outlook.exe in task manager).
  4. Open Windows Explorer.
  5. Copy (don't cut) the existing VbaProject.OTM file. (if it has any other name than that, first rename it to VbaProject.OTM, then copy).
  6. Navigate to C:\Documents and Settings\USERNAME\Application Data\Microsoft\Outlook (or use the environment variable notation %appdata%\Microsoft\Outlook for vista/win7)
  7. Rename the existing VbaProject.OTM to VbaProject.OTM.OLD
  8. Paste the VbaProject.OTM from step 5 into this folder.
  9. Reopen Outlook and test (i.e. Alt + F11).
  10. Good luck with recovery.

If this doesn't work do you remember adding self signing certificate at all? If so have you got a copy of the cert? you can try reinstalling it into the certificate manager (certmgr.msc) copy/install it to the Certficiates - Current User\Personal\Certificates hive.

I just found this note from Sue Mosher (outlook VBA guru): "AFAIK, once an .otm file is corrupted, it can't be recovered. That's why I recommend that people who rely on VBA code export their modules or backup the entire file. "

like image 29
Anonymous Type Avatar answered Oct 08 '22 12:10

Anonymous Type