【问题标题】:Excel VBA File not Found未找到 Excel VBA 文件
【发布时间】:2010-05-28 18:10:23
【问题描述】:

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

为了修复它,我将所有代码(模块和类以及启动代码)复制到一个新的空白 Excel 文件中。我保存了 excel 宏文件,它运行良好。

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

【问题讨论】:

  • 你的代码在做什么?
  • 我发现只要在代码行之间添加空行,错误就会消失。似乎是一个 excel 错误,对此无能为力。
  • 只需添加我的 0.02 美元。在周末之前,我删除了工作表中一个单元格的内容,今天我看到在几个月的零问题后打开的文件未找到问题。我从来没有想过进行这样的简单更改会影响 Workbook_Open 例程的功能。我的解决方案是完全删除 Workbook_Open 例程,使用下拉菜单创建一个全新的例程,然后将原始代码粘贴回去。现在可以正常工作了。
  • 我仍然想知道没有找到什么文件...有人知道如何使用即时窗口中的命令或通过其他方式来根除它吗? “找不到文件”是一个可笑的模糊错误……哪个文件?它在哪里?哪一行代码试图找到该文件?

标签: vba excel filenotfoundexception


【解决方案1】:

我的精神力量告诉我,您在更改当前目录时依赖于相对路径。

【讨论】:

    【解决方案2】:

    我看到了类似的现象,但我不确定原因是否相同。

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

    事实证明,这是由我的病毒检查器 (BitDefender) 引起的,它认为我的代码是恶意软件并从工作簿中删除代码。我在带有不同病毒检查器(BullGuard)的 PC 上尝试了它,它做了类似的事情。至少 BullGuard 有礼貌地告诉我它正在修改我的文件。 BitDefender 根本没有给我任何线索!

    总的来说,作为一个为许多不同客户工作的 VBA 人员,我发现越来越多的问题是病毒检查程序阻碍了我的工作。

    【讨论】:

      【解决方案3】:

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

      一种可能是你的模块太长了。

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

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

      我经常这样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-13
        • 2017-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-24
        相关资源
        最近更新 更多