我在其他论坛上看过有关此事的相关帖子(请参阅:http://www.mrexcel.com/forum/showthread.php?t=372534),但我已经尝试了所有我发现但没有成功的帖子。
情况如下: 我有一个.xlsm工作簿(名为'PTPro.xlsm'),它包含一个模块中大约2000多行VBA代码和6-7个大型UserForms,每个都有自己的巨大代码块。今天早些时候,我正在研究这个项目,一切都很顺利。在整个过程中,我保存,关闭并打开文件大约20次。我从未收到过错误消息。应该注意(如果重要的话)我直接从Excel保存到闪存驱动器。
当我今天晚上将项目带回家时,我试图打开它以进行快速更改。这是我收到以下一系列错误消息的时候:
“Excel在'G:\ PTPro \ PTPro.xlsm'中找到了不可读的内容。是否要恢复此工作簿的内容?如果您信任此工作簿的来源,请单击是。”
单击“是”后,将打开一个新对话框,并显示以下错误消息:
“Excel能够通过修复或删除不可读的内容来打开文件。删除部分:/xl/vbaProject.bin部分。(Visual Basic for Applications(VBA))”
此阶段我唯一的选择是单击“关闭”以加载工作簿。
当我点击Alt + F11查看VBA编辑器时,整个VBA项目(模块,用户表单,宏等)完全消失!!!
我已经按照我能找到的所有步骤进行了操作,包括更改Excel默认设置以启用所有宏,以及打开4个不同计算机上的文件(来自硬盘驱动器和闪存驱动器)。我能想到的唯一没有尝试过的是在我今天工作的计算机上打开文件(顺便说一句,这是公共计算机实验室中的共享计算机)。直到星期一才会有这个选择。
应该注意的是,有几个子工作簿包括我的应用程序所需的中间步骤,这些步骤在一天中经常打开和关闭。他们都工作得很好。
如果你有任何关于这个问题的经验,或者有关我如何恢复我写的代码的任何想法,我会非常感激!!!
谢谢!!!
答案 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的主要输入语言是英语(印度)。删除它并只保留日语解决了我的问题。