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

时间:2008-10-24 14:15:16

标签: vba outlook ms-office outlook-vba

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

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

4 个答案:

答案 0 :(得分:24)

This page对Outlook保留所有内容的方式有一些非常好的见解。它表明了以下内容:

  

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

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

继续前进,您可以考虑定期导出宏,以防再次发生这种情况,通过VBA IDE(右键单击并选择导出文件...)或使用链接文章中提到的工具之一(如Office Profile Wizard)。

答案 1 :(得分: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. 祝你好运。
  11. 如果这不起作用,您还记得添加自签名证书吗?如果是这样,你有一份证书副本?您可以尝试将其重新安装到证书管理器(certmgr.msc)中 将其复制/安装到Certficiates - 当前用户\个人\证书配置单元。

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

答案 2 :(得分:2)

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

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

要恢复,请将此文件替换为较旧的文件,它应该可以正常工作

答案 3 :(得分:-2)

遇到同样的问题。

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

我在Outlook中检查了我的功能区以获取“开发人员”选项卡。它丢失了,只是将它重新添加到我的功能区修复了我的问题。