Excel VBA CreateObject:运行时错误“432”:在自动化操作期间找不到文件名或类

时间:2017-12-01 18:27:58

标签: excel vba excel-vba dll createobject

如何修复错误“运行时错误'432':在自动化操作期间找不到文件名或类”我在Excel VBA中调用“CreateObject(”Scripting.FileSystemObject“)”时得到了什么?

我有一个带有宏的电子表格,该宏可以在其他两台计算机上运行,​​并且在我出厂恢复并重新安装Office之前用于在我的计算机上运行。

我使用的是Windows 7 64位,运行Office Home and Student 2010。

我追踪错误并创建了一个新的电子表格,其中包含一行运行一行:

Set objFSO = CreateObject("Scripting.FileSystemObject")

这个宏在其他2台计算机上运行良好,所以我的PC环境中有些东西让我搞砸了。我收到错误:

  

运行时错误'432':在此期间找不到文件名或类名   自动化操作

我已尝试修复Office安装并完全卸载并重新安装Office。

根据我在互联网上可以找到的内容,我可能需要参考“Microsoft Scripting Runtime”。我相信这是文件scrrun.dll。 当我将此引用添加到我的项目时,它向我显示“Microsoft Scripting Runtime”的位置是“C:\ Users \\ Documents”。您可以在附加的图像中看到这个充满错误。 这似乎不是正确的位置,那里没有dll。

如果我检查该引用以包含它并点击OK,我会收到错误:

  

加载DLL

时出错

scrrun.dll位于“C:\ Windows \ System32”中 我尝试注册dll并且工作正常。取消注册会给我一个错误:

  

模块“scrrun.dll已加载,但调用了DLLUnregisterServer   失败,错误代码为0x800300002。

我确保Administrators组拥有该文件,以防它是权限问题。我还尝试在安全模式下运行时取消注册。

我可能正在寻找“Microsoft Scripting Runtime”参考和/或scrrun.dll。

感谢您的任何建议!

Screenshots of various errors

1 个答案:

答案 0 :(得分:0)

与我一起使用,如下所示。希望能帮助到你 -我在C:\ Windows \ SysWOW64中找到scrrun.dll。我已成功在此位置注册 -在VBA参考中重新检查,它将Microsoft脚本运行时的位置显示为C:\ Windows \ SysWOW64 \ scrrun.dll

然后我没有下面的错误了    我在Excel VBA中调用“ CreateObject(“ Scripting.FileSystemObject”)”时得到“运行时错误'432':在自动化操作期间找不到文件名或类”