Where does Outlook store the VBA code files?

2020-02-08 07:22发布

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?

4条回答
一夜七次
2楼-- · 2020-02-08 08:01

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. "

查看更多
Melony?
3楼-- · 2020-02-08 08:03

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).

查看更多
放我归山
4楼-- · 2020-02-08 08:05

Ran into this same problem.

  • First reviewed the .otm file mentioned by @Anonymous Type and @Dave DuPlantis
  • Not corrupted... hmm

I checked my Ribbon in Outlook for the Developer tab. It was missing and simply re-adding it to my Ribbon fixed my problem.

查看更多
叛逆
5楼-- · 2020-02-08 08:13

All macros are embedded into an OTM file, under the following location:

C:\Users\(***Your User Name***)\AppData\Roaming\Microsoft\Outlook\VbaProject.OTM

To restore, replace this file with the older one, it should work

查看更多
登录 后发表回答