'找不到文件:VBA6.dll'错误 – 奇怪的行为
我使用Office 2013(64位)运行Windows 8。 我试图继续开发Office 2010(32位)的Excel中的VBA开发。 我知道必要的64位改变,但是我收到混乱的configuration错误。
这是问题:
- 如果我创build一个新的Excel文件和VBA项目; 我所有的VBA代码function正常。 没问题。
- 如果我打开并使用以前在Office 2010中开发/使用的文件中的macros,则会收到“File Not Found:VBA6.dll”错误消息。
- 一旦我开始收到这个消息,我就会在所有的VBAmacros中收到它; 即使是新的(不超过30秒)以前工作正常。
- 如果我然后重新创build一个新的Excel文件和新的VBA项目,那个单独的新代码工作正常。 没有问题 – 直到我在其中一个“错误文件”中运行代码。 然后,这个错误将扩展到我的新发展。
就好像Excel正在让它的引用感到困惑,但每次我检查它们(在好的或不好的文件上)它们总是完全一样的。
注意:
- 我的任何引用都没有丢失。
- 我的系统上没有VBA6.dll, 我有VBA7和“应用程序的Visual Basic”引用也指“C:\ Windows \ SysWOW64 \ msvbvm60.dll”
- 列表中还有另外两个“Visual Basic for Application”参考,但不会让我改变它们
- 它适用于没有VBA6.dll的新文件,所以我认为它不是必需的?
- 我已经检查并安装了所有最新的Windows更新。
我应该怎样解决这个问题?
- 如果你认为我需要VBA6.dll,是因为引用的库使用它?
- 如果是的话,为什么他们不使用VBA7?
- 为什么在打开一个旧的VBA6文件之前它工作正常? Excel是否突然决定所有文件必须使用VBA6只是因为以前有一个文件?
任何治愈我的困惑的东西都非常感激,
最好的祝福
编辑:我几乎忘了提及;
- 当我尝试debugging错误后收到它,Excel崩溃(每次)。
- 我还向一位同事发送了一个“不好的文件”,这个同事谁也没有收到这个问题 – 他们也收到了这个错误。 build议它是错误的文件?
编辑2:
问题尚未解决。 我希望downvote不会妨碍我的答案的机会。
- 我也尝试重新注册库,但没有任何改变。
- 如果我打开一个“坏文件”,我可以添加新的macros,它们工作正常; 但第二我运行一个现有的macros,并收到错误,新的macros也不工作。
该错误是在Office 2013(64位)安装过程中引起的。 VBA7 DLL没有正确注册,所以我不得不打开registry编辑器并手动input正确的文件path
- HKEY_CLASSES_ROOT \ {types库000204EF-0000-0000-C000-000000000046} \
- 6.0 \ 9 \ WIN32
- 4.2 \ 9 \ WIN32
将Visual Basic for Applications的“C:\ Windows \ SysWOW64 \ msvbvm60.dll”数据值(问题中提到)replace为VBA7 DLL文件path。 我的系统上是:
- C:\ Program Files \ Common Files \ Microsoft Shared \ VBA \ VBA7.1 \ VBE7.dll
所有文件现在工作; 我希望这能解决未来其他人的问题。
- Excel VBA CreateObject:运行时错误'432':在自动化操作期间未find文件名或类
- 我需要设置一个Excel工作表的path,以便我可以使用相对path来加载一个DLL
- 你如何参考EPPlus的DLL?
- VBA Excel DLL参数问题 – 第6章Arg
- 在VS2010的VB.NETdebugging过程中,Excel加载项无法加载(xx.dll)
- 使用在C ++中创build的DLL从Excel和VBA调用C ++函数
- 在Excel VBA中调用C#DLL中的方法
- scrrun.dll注册后,Scripting.FileSystem对象上的运行时错误429
- 如何debuggingExcel的COM服务器加载?