21

我在 Outlook 中有一个带有一些电子邮件宏的 VBA 项目 - 但是在 PC 崩溃后,它们都消失了,当我按下 Alt+F11 时,我看到的只是一个新的“Project1”

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

4

4 回答 4

30

此页面对 Outlook 将所有内容保存在何处有一些非常好的见解。它提出以下建议:

所有 Outlook 宏都存储在用户的 %appdata%\Microsoft\Outlook 文件夹中名为 VbaProject.otm 的单个文件中,该文件夹在大多数系统上将是一个隐藏文件夹。

现在,问题是如果您现在看不到它们,那么您可能无法从该位置恢复它们:那里可能有一个“空”项目或根本没有项目,但如果该文件夹是正在备份,您也许可以恢复它。

展望未来,您可能会考虑定期导出宏,以防再次发生这种情况,通过 VBA IDE(右键单击并选择导出文件...)或使用链接文章中提到的工具之一(如Office 配置文件向导)。

于 2008-10-24T14:28:30.443 回答
4

行。试图解决这个问题的事情......

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

  1. 为有问题的机器创建一个新的 Windows 登录名。
  2. 登录此帐户并打开 Outlook,这将创建一个新的 Outlook 配置文件。记下配置文件名称(要找到它:控制面板 > 邮件小程序 > 显示配置文件...)
  3. 现在退出 Outlook,并确保它没有运行(检查任务管理器中的 Outlook.exe)。
  4. 打开 Windows 资源管理器。
  5. 复制(不要剪切)现有的 VbaProject.OTM 文件。(如果它有任何其他名称,请先将其重命名为 VbaProject.OTM,然后复制)。
  6. 导航到 C:\Documents and Settings\USERNAME\Application Data\Microsoft\Outlook(或使用环境变量表示法 %appdata%\Microsoft\Outlook for vista/win7)
  7. 将现有的 VbaProject.OTM 重命名为 VbaProject.OTM.OLD
  8. 将第 5 步中的 VbaProject.OTM 粘贴到此文件夹中。
  9. 重新打开 Outlook 并进行测试(即 Alt + F11)。
  10. 祝你康复顺利。

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

我刚刚从 Sue Mosher(outlook VBA 大师)那里找到了这条注释:“AFAIK,一旦 .otm 文件损坏,就无法恢复。这就是为什么我建议依赖 VBA 代码的人导出他们的模块或备份整个文件。 ”

于 2009-12-22T21:37:18.663 回答
2

所有宏都嵌入到 OTM 文件中,位于以下位置:

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

要恢复,用旧文件替换这个文件,它应该可以工作

于 2016-02-04T16:02:14.967 回答
-1

遇到同样的问题。

  • 首先查看了@Anonymous Type 和@Dave DuPlantis 提到的.otm 文件
  • 没有损坏...嗯

我在 Outlook 中的功能区中检查了“开发人员”选项卡。它丢失了,只需将其重新添加到我的功能区即可解决我的问题。

于 2015-02-05T18:42:43.873 回答