找不到Excel VBA文件

时间:2010-05-28 18:10:24

标签: excel vba excel-vba filenotfoundexception

在开发一些Excel vba代码的过程中,在我进去的每一次迭代中,添加一些代码然后保存文件,下次打开它时,我收到“找不到文件”错误。宏被设置为在打开文件时自动运行代码。

要修复它,我将所有代码 - 模块和类以及启动代码 - 复制到一个新的空白excel文件中。我保存了excel宏文件,运行正常。

Excel 2003和2007都会发生这种情况。这里发生了什么?

3 个答案:

答案 0 :(得分:0)

我的心理力量告诉我你在改变当前目录时依赖于相对路径。

答案 1 :(得分:0)

虽然不确定原因是否相同,但我也遇到类似的现象。

昨天,每次我向工作簿中添加Workbook_Open过程,保存并重新打开它时,都出现“找不到文件”错误(未指定特定文件)。然后是“我们发现[工作簿名称]中的某些内容存在问题。您是否要我们尝试尽可能多地恢复?”。如果我对恢复说“是”,我发现所有VBA代码都已从工作簿中删除。

事实证明,这是由我的病毒检查程序(BitDefender)引起的,该程序将我的代码视为恶意软件,并正在从工作簿中删除代码。我在装有其他病毒检查器(BullGuard)的PC上尝试了此操作,并且执行了类似的操作。至少BullGuard可以让我知道它正在修改我的文件。 BitDefender根本没有给我任何线索!

总的来说,作为从事VBA服务于许多不同客户的人,我发现越来越多的问题与病毒检查程序有关。

答案 2 :(得分:0)

不确定您是否已解决问题。

一种可能是您的模块之一太长。

VBA 是 64kb 的编译大小限制。如果超过该值,“应该”会警告您,但通常会失败。

找出你拥有的最长的模块,将一些功能移到另一个模块,看看它是否有帮助。

我经常这样。