Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Outlook在哪里存储VBA代码文件?_Vba_Outlook_Ms Office - Fatal编程技术网

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

Outlook在哪里存储VBA代码文件?,vba,outlook,ms-office,Vba,Outlook,Ms Office,我在outlook中有一个VBA项目,有几个电子邮件宏,但在电脑崩溃后,它们都消失了,当我点击Alt+F11时,我看到的只是一个新的“Project1” 我不是一个VBA程序员,但有一个方便的宏集合,用于电子邮件排序等。我不想再次编写它们。有人知道文件系统上的代码文件应该在哪里,这样我就可以拯救代码了吗?对Outlook将所有内容保存在哪里有很好的了解。它建议如下: 所有Outlook宏都存储在用户的%appdata%\Microsoft\Outlook文件夹中名为VbaProject.otm的

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

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

对Outlook将所有内容保存在哪里有很好的了解。它建议如下:

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

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


向前移动,您可以考虑周期性地输出宏,以防再次发生,或者通过VBA IDE(右键单击并选择导出文件…)或使用链接文章中提到的工具之一(如:)。< /P> < P> OK。试图解决这个问题的事情

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

  • 创建有关计算机的新windows登录
  • 登录此帐户并打开Outlook,这将创建一个新的Outlook配置文件。记下配置文件名称(要查找此名称:控制面板>邮件小程序>显示配置文件…)
  • 现在退出Outlook,并确保它未运行(在任务管理器中检查Outlook.exe)
  • 打开Windows资源管理器
  • 复制(不剪切)现有VbaProject.OTM文件。(如果它有其他名称,请先将其重命名为VbaProject.OTM,然后复制)
  • 导航到C:\Documents and Settings\USERNAME\Application Data\Microsoft\Outlook (或使用环境变量表示法%appdata%\Microsoft\Outlook for vista/win7)
  • 将现有VbaProject.OTM重命名为VbaProject.OTM.OLD
  • 将步骤5中的VbaProject.OTM粘贴到此文件夹中
  • 重新打开Outlook并测试(即Alt+F11)
  • 祝你康复好运
  • 如果这不起作用,您还记得添加自签名证书吗?如果有,你有证书的复印件吗?您可以尝试将其重新安装到证书管理器(certmgr.msc)中 将其复制/安装到Certficiates-Current User\Personal\Certificates配置单元

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

    遇到了同样的问题

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

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

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

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

    要还原,请用旧文件替换此文件,它应该可以工作

    VBA文件就在那里,用文本编辑器查看其中的宏片段,但它也充满了null和sohs-从外观上看,它是一种令人讨厌的二进制格式。它一定是在某种程度上被半破坏了,我的代码在那里僵化了,我无法把它弄出来。它应该是二进制的。我刚刚用备份中的文件替换了找到的文件,代码在Outlook的宏编辑器中是可见的。仅供参考,如果要删除并重新安装Outlook,请注意:创建VBAproject.OTM的备份不能保证完全恢复VBA脚本。存在一个错误,该文件没有反映脚本中最近的更改。