“找不到文件:VBA6.dll”错误 - 奇怪的行为

2024-03-26

我运行的是 Windows 8 和 Office 2013(64 位)。我正在尝试继续从 Office 2010(32 位)开始的 Excel 中的 VBA 开发。我知道必要的 64 位更改,但我收到了令人困惑的配置错误。

问题是这样的:

  • 如果我创建一个新的Excel文件和VBA项目;我的所有 VBA 代码都能正常运行。没问题。
  • 如果我打开并使用以前在 Office 2010 中开发/使用的文件中的宏,我会收到“找不到文件:VBA6.dll”错误消息。
  • 一旦我开始接收消息,我就会在所有 VBA 宏上接收它;即使是以前运行良好的新的(不超过 30 秒)。
  • 如果我随后重新创建一个新的 Excel 文件和新的 VBA 项目,则该单独的新代码可以正常工作。没有问题 - 直到我在“错误文件”之一中运行代码。然后这个错误就会蔓延到我的新发展中。

就好像 Excel 的引用很混乱,但每次我检查它们(无论是好文件还是坏文件),它们总是完全相同。

Note:

  • 我的参考文献都没有丢失。
  • 我的系统上没有 VBA6.dll;我有 VBA7,“Visual Basic for Application”参考也引用“C:\Windows\SysWOW64\msvbvm60.dll”
  • 列表中还有另外两个“Visual basic for application”参考,但它不允许我更改它们
  • 它适用于没有 VBA6.dll 的新文件,所以我认为不需要它?
  • 我已检查并安装了所有最新的 Windows 更新。

我应该怎么做才能解决这个问题?

  • 如果您认为我需要 VBA6.dll,是因为引用的库使用了它吗?
  • 如果是这样,为什么他们不使用 VBA7?
  • 为什么在打开旧的 VBA6 文件之前它可以正常工作? Excel 是否会因为一个文件之前使用了 VBA6 而突然决定所有文件都必须使用 VBA6?

任何能治愈我困惑的事情都非常感激,

此致

EDIT:我差点忘了提;

  • 当我在收到错误后尝试调试该错误时,Excel 崩溃(每次)。
  • 我还向一位[具有相同系统配置]尚未收到此问题的同事发送了一个“错误文件” - 他们也收到了该错误。提示文件有问题?

EDIT 2:

问题还没有解决。我希望否决票不会妨碍我得到答案的机会。

  • 我也尝试过重新注册库,但没有任何改变。
  • 如果我打开一个“坏文件”,我可以添加新的宏,它们可以正常工作;但是当我运行现有的宏并收到错误时,新的宏也不起作用。

该错误是在安装 Office 2013(64 位)期间引起的。 VBA7 DLL 未正确注册,因此我必须打开 regedit 并在两者中手动输入正确的文件路径

  • HKEY_CLASSES_ROOT\TypeLib{000204EF-0000-0000-C000-000000000046}\
    • 6.0\9\win32
    • 4.2\9\win32

将 Visual Basic for Applications 的“C:\Windows\SysWOW64\msvbvm60.dll”数据值(问题中提到)替换为 VBA7 DLL 文件路径。我的系统上是:

  • C:\Program Files\Common Files\Microsoft Shared\VBA\VBA7.1\VBE7.dll

现在所有文件都可以工作;我希望这能解决将来其他人的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“找不到文件:VBA6.dll”错误 - 奇怪的行为 的相关文章

随机推荐