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

问题描述 投票:2回答:1

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

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

我在Windows 7 64位上运行Office Home and Student 2010。

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

Set objFSO = CreateObject("Scripting.FileSystemObject")

这个宏在另外两台计算机上运行良好,所以在我的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

excel vba excel-vba dll createobject
1个回答
0
投票

它适用于我如下。希望它有所帮助 - 我在C:\ Windows \ SysWOW64中找到了scrrun.dll。我在这个位置成功注册 - 重新检查VBA参考,它显示Microsoft Scripting Runtime的位置为C:\ Windows \ SysWOW64 \ scrrun.dll

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

© www.soinside.com 2019 - 2024. All rights reserved.