Outlook在哪里存储VBA代码文件?

问题描述:

我有一个VBA项目在Outlook中与几个电子邮件宏 - 但在PC崩溃后,他们都走了,我看到的是一个新鲜的'Project1'当我击中Alt + F11Outlook在哪里存储VBA代码文件?

我不是VBA程序员,但有一个方便的宏集合,用于电子邮件排序等。我不想再次编写它们。任何人都知道代码文件应该在文件系统上,以便我可以解救代码?

This page对Outlook在哪里保存所有内容有一些非常好的见解。它的研究表明:

所有Outlook宏存储在用户的%APPDATA%\微软\ Outlook文件夹命名的VbaProject.OTM一个单一的文件,这将是在大多数系统中的隐藏文件夹。

现在,问题是,如果您现在没有看到它们,那么您可能无法从该位置恢复它们:可能存在“空”项目或根本没有项目,但如果该文件夹正在备份,您可能可以恢复它。继续前进,您可能会考虑定期导出宏,以防再次发生这种情况,无论是通过VBA IDE(右键单击并选择“导出文件...”)还是使用链接文章中提到的工具之一(如Office Profile Wizard)。

+0

的VBA文件是存在的,并期待在它里面用文本编辑器显示我的宏的片段,但也充满了零点和sohs - 它的外观是一种令人讨厌的二进制格式。它在某些时候肯定已经半损坏了,我的代码在那里化石了,我无法解决它。 – 2008-10-24 15:29:03

好的。事情要尝试解决此问题...

我假设问题发生后,您尝试登录回相同的Windows用户帐户和相同的Outlook配置文件。

  1. 为有问题的机器创建一个新的Windows登录。
  2. 登录到此帐户并打开Outlook,这将创建一个新的Outlook配置文件。请记下配置文件名称(要找到此控制面板>邮件小程序>显示配置文件...)
  3. 现在退出Outlook,并确保它未运行(检查任务管理器中的outlook.exe)。
  4. 打开Windows资源管理器。
  5. 复制(不要剪切)现有的VbaProject.OTM文件。 (如果它有任何其他名称,首先将其重命名为VbaProject.OTM,然后复制)。
  6. 导航到C:\ Documents和Settings \ USERNAME \应用数据\微软\展望 (或使用环境变量符号%APPDATA%\微软\展望为Vista/WIN7)
  7. 重命名现有的VbaProject.OTM到VbaProject.OTM.OLD
  8. 将步骤5中的VbaProject.OTM粘贴到此文件夹中。
  9. 重新打开Outlook和测试(即Alt + F11)。
  10. 祝你好运恢复。

如果这不起作用,你还记得添加自签名证书吗?如果是的话,你有一份证书副本吗?您可以尝试将其重新安装到证书管理器(certmgr.msc) 将其复制/安装到Certficiates - 当前用户\个人\证书配置单元。

我刚刚从Sue Mosher(outlook VBA guru)发现了这个笔记: “AFAIK,一旦.otm文件被损坏,就无法恢复。这就是为什么我建议那些依靠VBA代码导出模块或备份整个文件的人。 “

出现同样的问题没有一个”答案“对我有帮助,所以我做了自己的挖掘工作,发现了@Anonymous Type和@Dave DuPlantis提到的.OTM文件,但它不是损坏,甚至不知道如何确定你的文件是从你的模糊的问题已经损坏...无论哪种方式,这里是我的解决方案

检查你的功能区。是否开发人员选项卡?如果不是,然后启用它应该解决你的问题简单不知道它为什么或如何自发消失虽然这是一个全新的难题...

所有的宏被嵌入到一个OTM文件,位于以下位置:

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

要恢复,与老替换该文件,它应该工作