如何恢复此VBA项目? Excel错误消息:“已删除的部分:/xl/vbaProject.bin部分。”

时间:2011-02-26 00:27:54

标签: excel vba excel-vba file-recovery corrupt-data

我在其他论坛上看过有关此事的相关帖子(请参阅:http://www.mrexcel.com/forum/showthread.php?t=372534),但我已经尝试了所有我发现但没有成功的帖子。

情况如下: 我有一个.xlsm工作簿(名为'PTPro.xlsm'),它包含一个模块中大约2000多行VBA代码和6-7个大型UserForms,每个都有自己的巨大代码块。今天早些时候,我正在研究这个项目,一切都很顺利。在整个过程中,我保存,关闭并打开文件大约20次。我从未收到过错误消息。应该注意(如果重要的话)我直接从Excel保存到闪存驱动器。

当我今天晚上将项目带回家时,我试图打开它以进行快速更改。这是我收到以下一系列错误消息的时候:

  1. “Excel在'G:\ PTPro \ PTPro.xlsm'中找到了不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的来源,请单击是。”

  2. 单击“是”后,将打开一个新对话框,并显示以下错误消息:

  3. “Excel能够通过修复或删除不可读的内容来打开文件。删除部分:/xl/vbaProject.bin部分。(Visual Basic for Applications(VBA))”

  4. 此阶段我唯一的选择是单击“关闭”以加载工作簿。

  5. 当我点击Alt + F11查看VBA编辑器时,整个VBA项目(模块,用户表单,宏等)完全消失!!!

  6. 我已经按照我能找到的所有步骤进行了操作,包括更改Excel默认设置以启用所有宏,以及打开4个不同计算机上的文件(来自硬盘驱动器和闪存驱动器)。我能想到的唯一没有尝试过的是在我今天工作的计算机上打开文件(顺便说一句,这是公共计算机实验室中的共享计算机)。直到星期一才会有这个选择。

    应该注意的是,有几个子工作簿包括我的应用程序所需的中间步骤,这些步骤在一天中经常打开和关闭。他们都工作得很好。

    如果你有任何关于这个问题的经验,或者有关我如何恢复我写的代码的任何想法,我会非常感激!!!

    谢谢!!!

5 个答案:

答案 0 :(得分:9)

当我尝试在客户端PC中运行我的VBA脚本时,我遇到了类似的问题。

问题是因为客户端PC未安装Microsoft Office Visual Basic应用程序。通过运行Office安装程序,然后添加Visual Basic Application Feature,脚本成功运行。

答案 1 :(得分:1)

  

问题是因为客户端PC无法安装Microsoft Office   Visual Basic应用程序

正确答案。 在设置菜单中为 Office工具类别选择从我的计算机上全部运行

开发人员......难以找到更好的错误消息吗?

答案 2 :(得分:0)

我的朋友说您在注册表编辑器HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 14.0 \ Common \ VBAOff中进行了更改。在“数值数据”框中,将更改从1更改为0或按删除键(单击鼠标右键,然后单击“删除”)。 退出注册表编辑器。

答案 3 :(得分:0)

!我必须为我的xlsm文件解决这个问题!

VBA代码写在我的Mac上我(因为我来自德国)在一些Userform名称中添加了一些“䔓ö”和“ü”(如此特殊的标志)。 现在,Windows上的Excel 2010无法读取这些标志,并且文件已损坏。 溶剂化:我已经用标准品牌替换了所有特殊标志(如“ä”,“ß”,“ü”,......),并且e瞧 - >一切正常。

希望这对你有所帮助,因为它现在可以帮到我!

我真的不得不嘲笑这种愚蠢的错误以及操作系统之间的这种不一致。

答案 4 :(得分:0)

检查电脑上的语言设置是否与运行宏所需的相同。

宏可能会在其中写入特殊字符,因此PC的主要输入语言应与Micro的相同。

在我的情况下,宏是在日本写的,里面有很少的日文字符,我的PC的主要输入语言是英语(印度)。删除它并只保留日语解决了我的问题。